Yup无效的简单对象架构验证
Yup 是一个用于数值解析和验证的 JavaScript 模式构建器。定义一个模式,转换一个值来匹配;验证一个现有值的形状,或者两者都是。Yup 模式具有极强的表现力,允许对复杂的、相互依赖的验证或价值转换进行建模。
Yup 的 API 在很大程度上受到 Joi 的启发,但更精简,并以客户端验证作为其主要用例。Yup 将解析和验证功能分为不同的步骤。 cast() 对数据进行转换,而 validate 则检查输入的形状是否正确。每个步骤都可以一起执行(比如 HTML 表单验证)或单独执行(比如从 API 反序列化可信数据)。
import * as yup from 'yup';
let schema = yup.object().shape({
name: yup.string().required(),
age: yup.number().required().positive().integer(),
email: yup.string().email(),
website: yup.string().url(),
createdOn: yup.date().default(function () {
return new Date();
}),
});
// check validity
schema
.isValid({
name: 'jimmy',
age: 24,
})
.then(function (valid) {
valid; // => true
});
// you can try and type cast objects to the defined schema
schema.cast({
name: 'jimmy',
age: '24',
createdOn: '2014-09-23T19:25:25Z',
});
// => { name: 'jimmy', age: 24, createdOn: Date }评论
