ttk-app-core
Version:
@ttk/recat enterprise develop framework
25 lines (24 loc) • 1.64 kB
Markdown
- 1、使用表单校验时,注意value值类型问题,若change事件后获取的值类型和rules设定的类型不一致,将会触发require的校验出错
- 2、input和textarea输入的数据是天生具有String类型的,若该组件用于数字的输入,要手动对value进行类型转换
- 3、校验的rules扩展了dependValidator的校验方法,用于可能依赖表单其他字段的情况,使用如下。密码和确认密码是有依赖关系的。在输入confirm确认密码时,会校验password字段的值是否一致。dependValidator的回调方法接收三个参数(fields, value, cb),分别是表单数据、当前字段数据和回调函数。注意回调函数可接收两个参数,第一个是显示错误信息提示内容,校验通过时传''或者不传。第二个参数,若错误信息在本字段显示,则不需要传,否则需传递字段的key。
``` js
const rules = {
password: {type: 'string', required: true, message: '请输入密码', dependValidator: (fields, value, cb) => {
if (!fields.confirm) {
cb()
} else if (fields.confirm != value) {
cb('两个密码不一致', 'confirm') // confirm字段显示错误信息,若本字段显示错误信息,则第二个参数'confirm'可不传
} else {
cb('', 'confirm') // 消除confirm可能的校验错误状态
}
}},
confirm: {type: 'string', required: true, message: '请确认密码', dependValidator: (fields, value, cb) => {
if (fields.password !== value) {
return cb('两个密码不一致')
} else {
return cb()
}
}}
}
```