【问题标题】:Is it possible to use Yup to validate ES6 Sets directly?是否可以使用 Yup 直接验证 ES6 Sets?
【发布时间】:2018-11-14 11:48:01
【问题描述】:
是否可以使用 Yup 直接验证 ES6 Sets?
我的意图是使用类似的东西:
const schema = yup.set().of( yup.string() ).min(1).required()
有什么方法可以使用 yup 来强制执行这些验证要求?
【问题讨论】:
标签:
javascript
ecmascript-6
yup
【解决方案1】:
我决定在 array() 中添加额外的功能
yup.addMethod( yup.array, 'set', function() {
return this.transform(function(value, originalValue){
if ( this.isType( value ))
return value;
return [...originalValue]
})
})
这样我就可以做这样的事情:
yup.array().set().ensure().of( yup.string() ).min(1).required(),
不是最好的解决方案,但它现在工作正常,如果需要,我可能会在不久的将来做一个适当的类声明来扩展 yup.array。
谢谢!