3

是否可以使用 Yup 直接验证 ES6 Sets?

我的意图是使用类似的东西: const schema = yup.set().of( yup.string() ).min(1).required()

有什么方法可以使用 yup 以便我可以强制执行这些验证要求?

4

1 回答 1

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。

谢谢!

于 2018-06-05T06:42:26.307 回答