Quiero agregar algunas expresiones antes de lanzar un mensaje de error.
A continuación se muestra el código de ejemplo que quiero implementar.
const schema = Yup.object().shape({ name: yup.string().required(() => "error message") });
En lugar de simplemente pasar una cadena como esta
const schema = Yup.object().shape({ name: yup.string().required("error message") });
Debería poder pasar una función usando el método de prueba Yup. Solo debe asegurarse de crear un error y devolverlo a sí una vez creado.
const schema = Yup.object().shape({ name: Yup.string() .string() .required() .test("name validation fn", "Name Validation Error", function (value) { // Use function const customError = myCustomErrorFn(value); return this.createError({message: customError }); }) });
ver los documentos de validación de Yup