关于elementui form表单的验证,明明填写了正确的值却显示验证还没通过可能存在的原因(个人看法,有不正确的请指出):
1、首先需要保证表单上的 :model=" "和prop=" "绑定正确;下面是官网的例子:
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="活动名称" prop="name">
<el-input v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="活动区域" prop="region">
<el-select v-model="ruleForm.region" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-form>
export default {
data() {
return {
ruleForm: {
name: '',
region: ''
}
};
}
}
当你的ruleForm格式变化的时候,如变成下面这种(嵌套了多一层),对应的:model="ruleForm"就要变成:model="ruleForm.res",prop不用改变。(我个人不建议没什么特殊情况不要这样嵌套)
export default {
data() {
return {
ruleForm: {
res: {
name: '',
region: ''
}
}
};
}
}
2、验证时提示:[Element Warn][Form]model is required for validat
这种警告是绑定model错误的警告,意思就是说,你不应该用v-model的形式去绑定form,而应该用:model去绑定
3、还有可能的就是自己写的验证规则不正确,触发的条件也要对应上。触发条件有时需要绑上多个触发条件,如:
trigger:['blur','change']