element-ui 表单验证,rules给自定义方法传参数,rules正则验证

这篇博客探讨了在Vue.js中如何扩展内置的验证功能。通过在`el-form`组件中定义`rules`属性,我们可以自定义验证规则。例如,`name`字段使用了一个扩展的验证函数`valid.notNull`,它接受多个参数进行复杂校验,而`address`字段则直接应用了预定义的`valid.notNull`验证。此外,还展示了如何设置正则表达式验证和基本的长度限制验证。这有助于提升表单数据输入的准确性和用户体验。

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' }
	],
	
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值