1.本质validator其实传入的是一个function,所以可以把这个方法扩展即可
<el-form :model="formData"
:rules="rules">
<el-form-item label="姓名" prop="name">
<el-input v-model="formData.name"></el-input>
</el-form-item>
<el-form-item label="地址" prop="address">
<el-input v-model="formData.address"></el-input>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input v-model="formData.age"></el-input>
</el-form-item>
<el-form-item label="学校" prop="school">
<el-input v-model="formData.school"></el-input>
</el-form-item>
</el-form>
....
rules: {
// 动态传不定个数的参数,可以往后排
name: [{
validator: (rule, value, callback) => {
valid.notNull(rule, value, callback, this.formData,minSize='',maxSize='',minLen='',maxLen='')
},
trigger: 'blur'
}],
// 不需要传参的
address: [{
validator: valid.notNull,
trigger: 'blur'
}]
// 匹配正则的
address: [{pattern: '^[0-9a-zA-Z_]{1,}$', message: '正则不对'}]
// 最基本的
school: [
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
}
这篇博客探讨了在Vue.js中如何扩展内置的验证功能。通过在`el-form`组件中定义`rules`属性,我们可以自定义验证规则。例如,`name`字段使用了一个扩展的验证函数`valid.notNull`,它接受多个参数进行复杂校验,而`address`字段则直接应用了预定义的`valid.notNull`验证。此外,还展示了如何设置正则表达式验证和基本的长度限制验证。这有助于提升表单数据输入的准确性和用户体验。
3万+

被折叠的 条评论
为什么被折叠?



