Tengo una prueba personalizada, pero cuando se implementa dentro de un esquema, detiene todo el esquema, incluso ya tengo abortEarly: true para el esquema en sí.
Definí la prueba así:
const dateFormatRequired = () => yup .string() .test({ name: 'date-format-bd', message:'Date format should be MM/DD/YYY', test: (value, cotext) => { console.log(value) const dateInList = value.split('-'); const yearHasCorrectDigit = dateInList[0].length === 4; const monthAndDayHasCorrectDigit = dateInList[1].length == 2 && dateInList[2].length == 2; return yearHasCorrectDigit && monthAndDayHasCorrectDigit; }, params: { abortEarly: false } })Esquema en sí mismo como este:
const schema = yup.object().shape({ dateOfBirth: dateFormatRequired(), gender: isRequiredOnly, ); schema .validateSync({...some values match my data shape}, { abortEarly: false }) Cuando el dateFormatRequired falló, el error.inner de todo el esquema estará vacío.
¿Alguna sugerencia de cómo puedo depurar esto más o una solución?