el-radio 必填检验不生效的原因及解决办法

el-radio 必填检验不生效的原因及解决办法

        • 不生效代码:
        • 结果:
        • 原因分析:
        • 解决方法:

不生效代码:

<el-form-item label="审核结果" class="redColor" prop="audit_result">
   <el-radio-group v-model="auditForm.audit_result">
       <el-radio :label="3">通过el-radio>
       <el-radio :label="2">不通过el-radio>
   el-radio-group>
el-form-item>
//表单校验规则:
return{
     rules: {
        audit_result: [
          { required: true, message: "审核结果不能为空", trigger: "blur" },
        ],
      }
   }

结果:

必填检验不生效

原因分析:

el-radio的默认值是0,导致规则校验的时候认为已经选了选项,就不会出现必填提示。

解决方法:

修改检验规则,当值为0时,也提示必填。代码如下:

  data() {
    //校验radio默认值0也提示必填
    var validateRadio = (rule, value, callback) => {
      if (value) {
        // 当值为0的时候当做没选择
        if (value == 0) {
          callback(new Error("审核结果不能为空"));
        } else {
          callback();
        }
      } else {
        callback(new Error("审核结果不能为空"));
      }
    };
  }

return{
     rules: {
        audit_result: [
          { required: true,validator: validateRadio, trigger: "blur" },
        ],
      }
   }

你可能感兴趣的:(vue,vue.js,javascript)