iview 动态修改表单字段是否必填的验证

需求:选择 ”就业“ 则将”工作性质“设置为必填,反则非必填。

<i-Col span="8">
<form-item label="去向" prop="qx">
<inco-i-dmb bm="T_DM_BYQXB" :clearable="true" v-model="formData.qx" dmzdm="dm" mczdm="mc" mc_enzdm="mc_en" cxtj="kyf='1'" pxzdm="sxh,dm"></inco-i-dmb>
</form-item>
</i-Col>
<i-Col span="24">
<form-item label="工作性质" :rules="{required:zdzflag, message: '不能为空'}"  prop="gzxz">
<inco-i-dmb :disabled="zdzflag2" bm="T_DM_JYGZXZB" :clearable="true" v-model="formData.gzxz" dmzdm="dm" mczdm="mc" mc_enzdm="mc_en" cxtj="kyf='1'" pxzdm="sxh,dm"></inco-i-dmb>
</form-item>
</i-Col>

 

    , watch: {
        'formData.qx':function (val,oldval) {
            var self = this;
            // self.$refs['formData'].fields.forEach(function (v,j) {
            //     通过prop获取下标,通过下标去掉错误提示以及检验状态
            //     console.log(j+"--"+v.prop)
            // });

            if(self.formData.qx=='01'){
                self.zdzflag = true;
                self.zdzflag2 = false;
            }else {
                self.zdzflag = false;
                self.zdzflag2 = true;
                //清除验证信息(就业单位性质、就业单位省市、工作性质)
//通过下标去掉错误提示以及检验状态
                self.$refs['formData'].fields[13].validateMessage= '';
                self.$refs['formData'].fields[13].validateState = '';
                self.$refs['formData'].fields[14].validateMessage= '';
                self.$refs['formData'].fields[14].validateState = '';
                self.$refs['formData'].fields[15].validateMessage= '';
                self.$refs['formData'].fields[15].validateState = '';
            }
        }
}

效果 如下

 

Guess you like

Origin blog.csdn.net/ding43930053/article/details/118024551