Ant Design 表单验证,循环验证,条件验证

用的是公司基于ant design开发的ui组件,但是大部分都是一样的。直接上代码

<div v-for="(formItem,formIndex) in form.formInline" :key="formItem">
    <a-form-model-item>
      <a-form-model-item :prop="'formInline.' + formIndex + '.strategyName'" :rules="{ required: true, message: '请输入', trigger: 'blur' }"  label="策略名称">
        <a-input @change="inpName(formIndex)" class="w320" v-model="formItem.strategyName" placeholder="请输入">
        </a-input>
      </a-form-model-item>
  

        <!-- 优先级 -->
        <div >
          <a-form-model-item :prop="'formInline.' + formIndex + '.ownOrderList'" :rules="ownRules.selctRules" style="display: inline-block;margin-bottom: 0px;">
            <a-checkbox-group v-model="formItem.ownOrderList" >
            </a-checkbox-group>
          </a-form-model-item>
        </div>

        <!-- 权重 -->
        <div class="ml17" >
            <a-form-model-item :prop="'formInline.' + formIndex + '.ownweightOrderInfo'" :rules="ownRules.selctRules" style="display: inline-block;margin-bottom: 0px;">
              <a-checkbox-group @change="(val)=>onweightOrderTypeChange(val,formIndex)" v-model="formItem.ownweightOrderInfo">
                <div v-for="(i,inds) in formItem.weightOrderInfoList" :key="i.code" class="mb10">
                  <a-checkbox @change="(val)=>OwnCheckboxChange(val,formIndex,inds)" :value="i.code">
                    {{ i.name }}
                  </a-checkbox>

                  <a-form-model-item :prop="'formInline.'+formIndex +'.weightOrderInfoList.' + inds + '.weigth'" :rules="(i.enable == 'true' && formItem.weightOrderType=='custom')?ownRules.baseRules:null" >
                    <a-input  :disabled="formItem.weightOrderType=='AI' || i.enable=='false'" v-model="i.weigth"></a-input>
                  </a-form-model-item>

                </div>
              </a-checkbox-group>
            </a-form-model-item>
        </div>
    </a-form-model-item>
  </div>

通过formIndex来拼接循环的prop字段,然后rules里面通过三元判断是否需要验证,不需要验证就为null

  ownRules: {
        baseRules: { required: true, message: '请输入', trigger: 'blur' },
        selctRules: [
          { required: true, message: '请选择', trigger: 'blur' },
          { required: true, message: '请选择', trigger: 'change' },
        ],
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值