comment procéder pour valider un mot de passe tout en transmettant les erreurs à différentes variables?
c'est à dire
password: Yup.string().required("Please provide a valid password"),
passwordMin: Yup.string().oneOf([Yup.ref('password'), null]).min(8, 'Error'),
passwordLC: Yup.string().oneOf([Yup.ref('password'), null]).matches(/[a-z]/, "Error" )
passwordUC: Yup.string().oneOf([Yup.ref('password'), null]).matches(/[A-Z]/, "Error" )
Je n'arrive pas à obtenir la liaison des variables de mot de passe à lier avec l'objet de mot de passe
Juste pour développer la réponse de l'éfleurine.
Vous n'avez pas besoin de stocker chaque validation sur le même champ - vous pouvez les chaîner pour obtenir une validation complète.
password: Yup.string()
.required('No password provided.')
.min(8, 'Password is too short - should be 8 chars minimum.')
.matches(/[a-zA-Z]/, 'Password can only contain Latin letters.')
Notez comment vous pouvez toujours spécifier des messages individuels pour chaque échec.
De plus, pour que la liaison fonctionne, assurez-vous que l'entrée de formulaire à laquelle vous liez possède un attribut name
approprié - dans ce cas, password
.
Je sais que vous pouvez enchaîner les validations pour le même élément. Si vous essayez de faire une validation croisée, cet article vous aidera. à propos de formik in react mais je parie que cela vous donnerait une idée de la façon de résoudre votre cas.
https://itnext.io/simple-react-form-validation-with-formik-yup-and-or-spected-206ebe9e7dcc