this.$nextTick(() => {
console.log(this.rules)
console.log(this.list)
this.list.forEach((item, index) => {
let obj = {
required: item.must,
trigger: ['change', 'blur'],
message: item.must ? '该项为必填项' : ''
}
if (item.type == 10) {
if (item.format == "phone") {
this.rules[`answerString${index+1}`] = [obj, {
pattern: "^1[3|4|5|6|7|8|9][0-9]{9}$",
message: "请输入正确的手机号码",
trigger: "blur"
}]
} else {
this.rules[`answerString${index+1}`] = [obj, {
pattern: "^(0|[1-9])+(\.[0-9]{1,4}){0,1}$",
message: "只能输入整数或小数,小数位数不超过4",
trigger: "blur"
}]
}
} else if (item.type == 9) {
this.rules[`answerString${index+1}`] = [{
required: false,
trigger: ['change', 'blur'],
message: item.must ? '该项为必填项' : ''
}]
} else if (item.type == 3) {
if (item.format == "idcard") {
this.rules[`answerString${index+1}`] = [obj, {
pattern: '^[1-9]\\d{5}(?:18|19|20)\\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\\d|30|31)\\d{3}[\\dXx]$',
message: "请输入正确的身份证号",
trigger: "blur"
}]
} else {
this.rules[`answerString${index+1}`] = [obj]
}
} else {
this.rules[`answerString${index+1}`] = [{
required: item.must,
trigger: ['change', 'blur'],
message: item.must ? '该项为必填项' : ''
}]
}
})
this.$refs.uFormRef.setRules(this.rules);
});