<FormItem :label="index == 0?'身份证':''" v-for="(item,index) in formItem.fIdcardArr" :key="index" :prop="'fIdcardArr_'+index">
<div>
<Input v-model="formItem.fIdcardArr[index]" style="width:90%;display:inline-block;" placeholder="请输入身份证" clearable></Input>
<Icon type="ios-add" v-if="index == 0" @click="addIdcard(formItem.fIdcardArr.length)" style="border:1px solid #ccc; margin-left: 21px;cursor:pointer;"/>
<Icon type="ios-close" v-else @click="reduceIdcard(index)" style="border:1px solid #ccc; margin-left: 21px;cursor:pointer;"/>
</div>
</FormItem>
const checkIdcard = (rule, value, callback) => {
// rule.field.split('_')[1],'idcard');
let num = parseInt(rule.field.split('_')[1]);
if (this.formItem.fIdcardArr[num] === '' || !util.idcardValidator18(this.formItem.fIdcardArr[num])) {
callback(new Error('请填写正确的身份证'));
} else {
callback();
}
};
return {
checkIdcard:checkIdcard,
ruleInModel:{
fName: [
{required: true, message: '请输入名称', trigger: 'blur' },
],
fContent: [
{ required: true, message: '请输入内容', trigger: 'blur' }
],
fIdcardArr_0: [
{required: true,validator:checkIdcard, trigger: 'blur' },
],
},
//方法
addIdcard:function(index){
//新增idcard
let _this = this;
if(_this.formItem.fIdcardArr.length>5){
_this.$Message.error('支持最多5个身份证');
}else{
let name = 'fIdcardArr_'+index;
_this.ruleInModel[name] = {required: true,validator:_this.checkIdcard, trigger: 'blur' };
_this.formItem.fIdcardArr.push(null);
}
},
reduceIdcard:function(index){
//减idcard
let _this = this;
_this.formItem.fIdcardArr.splice(index, 1);
},
iview 动态校验
最新推荐文章于 2023-09-25 14:57:35 发布