<el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class="demo-dynamic">
<el-form-item
// 1
prop="email"
label="邮箱"
: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"
// 2
:prop="'domains.' + index + '.value'"
:rules="{
required: true, message: '域名不能为空', trigger: 'blur'
}"
>
<el-input v-model="domain.value"></el-input><el-button @click.prevent="removeDomain(domain)">删除</el-button>
</el-form-item>
<el-form-item style="margin-left:0px"
// 3
:prop="'otherUsers[' + index +']'"
:rules="[{ required: true, message: '此项不能为空', trigger: 'change' }]">
<el-select v-model="from.otherUsers[index]" filterable clearable>
<el-option v-for="item in allOnJob" :key="item.employeeId+'q'" :label="item.nameAndDepartment" :value="item.employeeId" />
</el-select>
</el-form-item>
data() {
return {
dynamicValidateForm: {
email: '', // 1
domains: [{ value: '' }], // 2
data:[ ] // 3
}
};
},
<el-form-item label=": " label-width="20px" :prop="'productName.'+ index + '.category_value'" :rules="{ validator:(rule, value, cb) => answerFValue(rule, value, cb, index), trigger: 'blur' }">
<el-input v-model="item.category_value" placeholder="请输入属性值" maxlength="30"></el-input>
</el-form-item>
answerFValue(rule, value, cb, index) {
let arr =''
if(this.form.productName.length >1){
arr = this.form.productName.filter(y => y.category_value === value)
}
if(value == ''){
cb('属性值不能为空')
} else if(arr.length > 1){
cb(new Error('属性值不能重复'))
} else{
cb()
}
data() {
return:form:{
productName:[{
category_value:''
}]
}
}
版权声明:本文为csstmg原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。