vue el-form-item :rules动态校验实现

1.form表单中

<el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class="demo-dynamic">
  <el-form-item
      label="邮箱"
      prop="email"
      :rules="[
          { required: true, message: '请输入邮箱地址', trigger: 'blur' },
          { type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }
        ]"
  >
    <el-input v-model="dynamicValidateForm.email"></el-input>
  </el-form-item>
  <el-form-item
      v-for="(domain, index) in dynamicValidateForm.domains" :label="'域名' + index" :key="domain.key"
      :prop="'domains.' + index + '.value'"
      :rules="{
          required: true, message: '域名不能为空', trigger: 'blur'
        }"
  >
    <el-input v-model="domain.value"></el-input>
  </el-form-item>
</el-form>

2.data中

dynamicValidateForm: {
  domains: [{
    value: ''
  },
  {
    value: ''
  },
  {
    value: ''
  },
  {
    value: ''
  }
  ],
  email: ''
}

3.提交前触发校验

this.$refs["dynamicValidateForm"].validate();

猜你喜欢

转载自blog.csdn.net/qq_43805205/article/details/131803863