我有以下作为 Formik 的表单字段类型:
interface FormFields {
groups: string[];
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试传递一个 Yup 模式来验证上述内容:它可以是一个空数组(必须定义)但也可以包含字符串。
以下不起作用:
const schema = Yup.object({
groups: Yup.array().defined()
}).defined();
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
小智 5
我发现空数组是真的。在终于在这里找到 yup 文档之后。我用的.min(num, message)方法Yup.array()
const validationSchema = Yup.object().shape({
stringArray: Yup.array().min(1, messageHere);
});
Run Code Online (Sandbox Code Playgroud)
您还可以使用以下命令检查数组的值是否包含字符串 array().of()
const validationSchema = Yup.object().shape({
stringArray: Yup.array().of(Yup.string());
});
Run Code Online (Sandbox Code Playgroud)
这是我的工作示例。经测试
let yup = require('yup')
const tSchema = yup.object().shape({
groups: yup.array().notRequired(),
})
const u = tSchema.cast({
groups: [],
})
console.log(u)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4664 次 |
| 最近记录: |