自定义校验规则
对于多值校验,Form
组件的 validators
属性提供了比较完善的功能来实现自定义校验。对于单值校验,Field
组件内置了 7 种常见规则,具体参考其 rule
属性。如果无法覆盖需求,VEUI
校验规则模块允许你添加自定义规则。
示例
import ruleManager from 'veui/managers/rule'
ruleManager.addRule('range', {
validate (value, ruleValue) {
// 仅实现大小校验部分
let range = value.split('-')
return +range[0] >= ruleValue.floor && +range[1] <= ruleValue.ceil
},
message: '范围值必须在限定区间内',
priority: 100
})
<template>
<veui-field
:rules="[{
triggers: 'change'
name: 'range',
value: {
ceil: 100,
floor: 50
}
}]"
...
>...</veui-field>
</template>
API
名称 | 类型 | 描述 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
validate | function(value: *, ruleValue: ?*=) | 校验逻辑,value 为 Field 需要校验的值,ruleValue 可选,根据规则需要添加,表示规则的限定值。 | ||||||||||||||||||||||||
message | function | string | 默认出错信息。 若类型为
若类型为
| ||||||||||||||||||||||||
priority | number | 规则优先级。数值低优先级高。
|