如何在Yup-require方法中返回错误消息,使用函数而不是只传递字符串



我想在抛出错误消息之前添加一些表达式。

下面是我想要实现的示例代码。

const schema = Yup.object().shape({
name: yup.string().required(() => "error message") 
});

而不是像这样传递字符串

const schema = Yup.object().shape({
name: yup.string().required("error message") 
});

应该能够使用Yup测试方法传入函数。您只需要确保createError,并在创建后将其返回给yup。

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 });
})
});

参见Yup验证文档

相关内容

最新更新