diff --git a/src/components/Main/schema.js b/src/components/Main/schema.tsx similarity index 63% rename from src/components/Main/schema.js rename to src/components/Main/schema.tsx index a5db326..64d91a1 100644 --- a/src/components/Main/schema.js +++ b/src/components/Main/schema.tsx @@ -6,7 +6,13 @@ const email = const cpf = /\d{3}.\d{3}.\d{3}-\d{2}/; const phone = - /^\(?(?:[14689][1-9]|2[12478]|3[1234578]|5[1345]|7[134579])\)? ?(?:[2-8]|9[1-9])[0-9]{3}-?[0-9]{4}$/; + /^\((?:[14689][1-9]|2[12478]|3[1234578]|5[1345]|7[134579])\) (?:[2-8]|9[1-9])[0-9]{3}-[0-9]{4}$/; + +const instagram = /@([A-Za-z0-9_](?:(?:[A-Za-z0-9_]|(?:\.(?!\.))){0,28}(?:[A-Za-z0-9_]))?)/; + +const birthDate = /\d{2}.\d{2}.\d{4}/; + + export default Yup.object().shape({ name: Yup.string() @@ -15,15 +21,14 @@ export default Yup.object().shape({ .required("Campo Obrigatório"), email: Yup.string() .email("Email Inválido") - .matches(email, "Invalid Email") + .matches(email, "Email Inválido") .required("Campo Obrigatório"), phone: Yup.string() .matches(phone, "Digite um número válido com DDD") .required("Campo Obrigatório"), - birthDate: Yup.date() - .typeError("A data deve ser válida") - .max(new Date(), "A data de nascimento não pode ser no futuro") + birthDate: Yup.string() + .matches(birthDate, "Data de Nascimento Inválida") .required("Campo Obrigatório"), cpf: Yup.string().matches(cpf, "Cpf Inválido").required("Campo Obrigatório"), - instagram: Yup.string().required("Campo Obrigatório"), + instagram: Yup.string().matches(instagram, "Nome de Usuário Inválido"), });