así que tengo esta validación de esquema:
const validationSchema = Yup.object().shape({ username: Yup.string() .min(2, 'votre surnom doit contenir minimum 2 caractères') .max(30, '30 caractères maximum autorisés') .required('Veuillez renseigner un pseudo'), email: Yup.string() .email('Veuillez renseigner une adresse mail valide') .required('Ce champs est obligatoire.') .test( 'emailCheck', 'cet est email déjà utiliser, veuillez en choisir un autre', async (value) => { const res = await AuthenticationService.checkEmail(value); if (res) { return false; } else { return true; } } ), password: Yup.string() .required('Ce champs est obligatoire.') .min( 8, 'Le mot de passe doit contenir 8 caractères ou plus, dont au moins un de chaque type : majuscule, minuscule, chiffre et spécial.' ) .minLowercase(1, 'le mot de passe doit contenir au moins 1 lettre minuscule') .minUppercase(1, 'le mot de passe doit contenir au moins 1 lettre majuscule') .minNumbers(1, 'le mot de passe doit contenir au moins 1 chiffre') .minSymbols(1, 'le mot de passe doit contenir au moins 1 caractère spécial'), passwordConfirmation: Yup.string().oneOf( [Yup.ref('password'), null], 'Les mots de passe doivent correspondre' ) });Estoy probando si el correo electrónico ya existe, funciona bien, pero la prueba afecta a todas las demás entradas cuando salgo de la entrada de nombre de usuario y paso a la entrada de contraseña, por ejemplo, la prueba para la entrada de correo electrónico es llamar. si trato de hacer una prueba como una función checkUsername en la entrada de nombre de usuario como esta:
username: Yup.string() .min(2, 'votre surnom doit contenir minimum 2 caractères') .max(30, '30 caractères maximum autorisés') .required('Veuillez renseigner un pseudo') .test( 'usernameCheck', 'cet est identifiant déjà utiliser, veuillez en choisir un autre', async (value) => { const res = await AuthenticationService.checkUsername(value); if (res) { return false; } else { return true; } } ), email: Yup.string() .email('Veuillez renseigner une adresse mail valide') .required('Ce champs est obligatoire.') .test( 'emailCheck', 'cet est email déjà utiliser, veuillez en choisir un autre', async (value) => { const res = await AuthenticationService.checkEmail(value); if (res) { return false; } else { return true; } } ),el correo electrónico de la función checkEmail aún se llamará para la entrada del nombre de usuario.