我有以下是检查:
nrOfApples: yup.number().min(0).max(999),
Run Code Online (Sandbox Code Playgroud)
现在,如果我将该字段留空,它将验证为 false。有没有办法让 yup.number() 接受空值?我试过了:
yup.number().nullable()
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。关于如何让这种事情发生的任何想法?
xdu*_*ine 17
你必须传递true给 nullable -
nrOfApples: yup.number().min(0).max(999).nullable(true);
来自:https : //github.com/jquense/yup/issues/500
工作示例:https : //runkit.com/xdumaine/5f2816c75a0ba5001aa312b2
请注意,如果您添加required().nullable(true)的required覆盖了nullable与空不会验证。
更新:
您可以使用 atransform将NaN值转换为null. 我用这个更新了runkit:
const contactSchema = yup.object({
name: yup.string()
.required(),
nrOfApples: yup
.number()
.min(0)
.max(999)
.nullable(true)
// checking self-equality works for NaN, transforming it to null
.transform((_, val) => val === val ? val : null)
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8876 次 |
| 最近记录: |