Estoy tratando de agregar validaciones condicionales para un campo que existe es parte de un formulario pero no es para el otro.
Esta es mi validación personalizada de yup.
export const validationSchema = Yup.object({ id: Yup.string(), name: Yup.string().required('required'), level: Yup.object().when('$exist', { is: (exist) => exist, then: Yup.object().typeError('required').required('required'), otherwise: Yup.object(), }), });
En el caso de que el campo no esté presente, funciona bien como debería. Pero la validación no funciona cuando el campo realmente existe en el formulario Formik y devuelve un error.
level debe ser un tipo de objeto, pero el valor del campo era nulo. Si se pretende que "null" sea un valor vacío, asegúrese de marcar el esquema como anulable()"
Quiero hacer que mi validación de "nivel" funcione para un caso y no para el otro