elementui中form组件中的自定义校验
问题:如果遇到的form是多个表单,如何获取对应的index下的值进行校验。
//对身份证的自定义校验
// 表单中的prop属性是按照 `forms.${index}.${name}`形式来展示
var validateCard = (rule, value, callback) => {
const cardTypeStr = rule.field.replace('cardNo', 'cardType');
if(this[cardTypeStr] === 1) {
if(!verifyCard(value)) {
callback(new Error('请输入正确的证件号码!'))
}else {
callback();
}
}
callback();
}
rule这个参数中有field它的值是对应的prop,根据这个属性来获取对应的index,替换name,就可以得到需要的数据。
const cardTypeStr = rule.field.replace('cardNo', 'cardType');