至少有一个值为真的对象数组的YUP验证



我开始使用Yupreact-hook-form,但我遇到了一些问题。

事实上,我有一个观察程序,它在开始时设置一个对象数组:

[
{
"code": "english",
"value": 0
},
{
"code": "french",
"value": 0
},
{
"code": "german",
"value": 0
},
{
"code": "italian",
"value": 0
}
]

我需要验证至少有1个值必须为true或1。感谢您的帮助。

如果其他人需要,我会这样做(当然会有更好的方法(,但这在我的情况下有效。。。

Yup.array()
.of(
Yup.object().shape({
value: Yup.boolean(),
}),
)
.test({
name: 'one-true',
message: 'Required',
test: (val) => !every(val, ['value', false]),
}),

最新更新