el-radio校验规则不生效

vue代码

<el-form-item prop='auditStatus'>
							<el-radio-group v-model="form.auditStatus">
								<el-radio label="1">审核通过</el-radio>
								<el-radio label="2">审核不通过</el-radio>
							</el-radio-group>
</el-form-item>

不生效校验代码

auditStatus: [{
						required: true,
						message: '请选择审核状态',
						trigger: ['blur', 'change']
					}],

分析原因

el-radio默认的值是0,导致校验规则以为已经是选择过了,所以当没有选择的时候也不会报错

解决办法:手动校验

data() {
			var validateRadio = (rule, value, callback) => {
				if (value) {
					// 当值为0的时候当做没选择
					if (value == 0) {
						callback(new Error('请选择审核状态'))
					} else {
						callback();
					}
				} else {
					callback(new Error('请选择审核状态'));
				}
			};

return{}

}


//表单校验
auditStatus: [{
						validator: validateRadio,
						trigger: 'change'
					}],

表单校验的几个注意的点

1.ref和model的值要保持一致

 2. prop和v-model的名字要保持一致

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 el-radio 组件的校验,你可以使用以下方法之一: 1. 使用表单校验:你可以将 el-radio 组件放在一个表单中,然后使用表单校验工具来验证用户选择的值。你可以通过给 el-radio-group 设置 rules 属性来定义校验规则,然后在提交表单时调用表单的 validate 方法来触发校验。 ``` <template> <el-form ref="form" :model="formData" :rules="formRules"> <el-form-item prop="radioValue" label="Radio"> <el-radio-group v-model="formData.radioValue"> <el-radio label="option1">Option 1</el-radio> <el-radio label="option2">Option 2</el-radio> </el-radio-group> </el-form-item> <el-button type="primary" @click="submitForm">Submit</el-button> </el-form> </template> <script> export default { data() { return { formData: { radioValue: '' }, formRules: { radioValue: [ { required: true, message: 'Please select an option', trigger: 'change' } ] } }; }, methods: { submitForm() { this.$refs.form.validate((valid) => { if (valid) { // 校验通过,执行提交操作 } else { // 校验不通过,给出错误提示 } }); } } }; </script> ``` 2. 使用自定义校验方法:如果你需要更复杂的校验逻辑,你可以使用自定义的校验方法来验证 el-radio 的选择。在自定义校验方法中,你可以根据需要判断 el-radio-group 的值是否满足校验条件,并返回相应的校验结果。 ``` <template> <el-radio-group v-model="radioValue" @change="validateRadio"> <el-radio label="option1">Option 1</el-radio> <el-radio label="option2">Option 2</el-radio> </el-radio-group> </template> <script> export default { data() { return { radioValue: '' }; }, methods: { validateRadio() { // 自定义校验方法 if (this.radioValue === '') { // 校验不通过,给出错误提示 } else { // 校验通过 } } } }; </script> ``` 以上是两种常见的 el-radio 校验方法,你可以根据实际需求选择适合你的方式。希望能帮到你!如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值