【发布时间】:2020-05-07 05:11:13
【问题描述】:
我正在使用 yup 为我的数据创建验证,我该如何处理枚举?
这是我的验证示例 - 我正在使用 yup 的 object.shape 方法:
export const deleteCityValidation = yup.object().shape({
id: yup.string()
});
寻找一种验证输入字段的方法,该输入字段应该只具有一组枚举中的值,感谢任何帮助。
是否可以使用 yup.arrays 来验证枚举?
【问题讨论】:
-
查看文档,例如:
yup.mixed<keyof typeof YOUR_ENUM>().oneOf(Object.values(YOUR_ENUM))可以工作。 -
@r3dst0rm 感谢您的评论,我认为这可能会解决问题,但我应该对其进行测试,我真的很抱歉问这样一个愚蠢的问题,但
< keyof typeof >的东西叫什么?我的意思是这些里面的全部内容 -
枚举只是一个对象,使用 typeof 可以让 TypeScript 推断类型,使用 keyof 我们可以获得该对象的所有有效索引作为类型。由于
mixed是一个需要类型定义的泛型函数,我们将这样的类型放在< >括号内。
标签: node.js typescript validation yup