是的:验证可以为空的字符串数组

我有以下作为 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());
});


以上是是的:验证可以为空的字符串数组的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>