条件验证
有时候,我们需要基于其它参数的值才能确定当前参数应该用什么规则进行验证。从 1.2.0 开始,acr 使用简洁的 api 支持了这种验证方式。
when 方法
when(path, expect, chain)const rules = {
type: acr.string().required().in([ 'personal', 'common' ]),
age: acr.when('type', 'personal', () => {
return acr.string().required().min(18);
}),
};
// 抛出错误,age 必填
await acr.validate({
type: 'personal',
}, rules);
// 抛出错误,age 不能小于 18
await acr.validate({
type: 'personal',
age: 16,
}, rules);
// 通过
await acr.validate({
type: 'common',
age: 16,
}, rules);other 方法
多条件验证
多个参数联合验证
异步条件
Last updated