是的:验证可以为空的字符串数组
我有以下作为 Formik 的表单字段类型:
interface FormFields {
groups: string[];
}
我正在尝试传递一个 Yup 模式来验证上述内容:它可以是一个空数组(必须定义)但也可以包含字符串。
以下不起作用:
const schema = Yup.object({
groups: Yup.array().defined()
}).defined();
我哪里错了?
回答
我发现空数组是真的。在终于在这里找到 yup 文档之后。我用的.min(num, message)
方法Yup.array()
const validationSchema = Yup.object().shape({
stringArray: Yup.array().min(1, messageHere);
});
您还可以使用以下命令检查数组的值是否包含字符串 array().of()
const validationSchema = Yup.object().shape({
stringArray: Yup.array().of(Yup.string());
});