【发布时间】:2020-10-19 10:31:50
【问题描述】:
我正在尝试验证一个数组是否有 2 个特定值,例如:
['foo', 'bar']
我觉得我最接近答案是这样的:
Yup.array()
.of(Yup.mixed().oneOf(['foo', 'bar']))
.min(2)
.max(2)
但这也会通过['foo', 'foo'] 和['bar', 'bar']
【问题讨论】:
-
Yup.mixed().oneOf([['foo', 'bar'], ['bar', 'foo']])?或者使用addMethod添加您自己的方法并执行Yup.array().containsInAnyOrder(['foo', 'bar'])之类的操作。 -
我的小建议,不要将框架/库用于如此简单的任务。尝试使用纯 JavaScript 将大大提高您的技能。从 ES6 时代开始,js 就是这样的功能性东西的奇迹
标签: javascript arrays yup