问题:表单中输入正确的内容后,还提示请输入内容
部分代码如下:
// 表单
<el-dialog title="添加用户" :visible.sync="dialogTableVisible">
<el-form ref="formRef" :rules="addUserRules" :model="addUsers">
<el-form-item label="姓名:" prop="name">
<el-input v-model="addUsers.username"></el-input>
</el-form-item>
<el-form-item label="密码:" prop="pwd">
<el-input v-model="addUsers.password"></el-input>
</el-form-item>
<el-form-item label="邮箱:" prop="email">
<el-input v-model="addUsers.email"></el-input>
</el-form-item>
<el-form-item label="手机号:" prop="tel">
<el-input v-model="addUsers.mobile"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogTableVisible = false">取 消</el-button>
<el-button type="primary" @click="addUser">确 定</el-button>
</span>
</el-dialog>
data () {
return {
// 添加用户
addUsers: {
username: '',
password: '',
email: '',
mobile: ''
},
addUserRules: {
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
{ min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' }
],
pwd: [
{ required: true, message: '请输入密码', trigger: 'blur' },
{ min: 6, max: 6, message: '请输入六位数密码', trigger: 'blur' }
],
email: [
{ required: true, message: '请输邮箱', trigger: 'blur' },
{ validator: chekEmail, trigger: 'blur' }
],
mobile: [
{ required: true, message: '请输手机号', trigger: 'blur' },
{ validator: chekTel, trigger: 'blur' }
]
}
}
},
问题原因
出现问题原因主要有4个
- el-form 是否绑定了值
:model
- el-form 是否绑定了验证规则
:rules
- el-form-item标签是否有
prop
,并且prop
的值是否和rules的值对应 - el-form-item标签中
prop
的名称和 el-input 标签中v-model
的名称一致
我这出现问题的原因是 第四种情况
解决办法: 将二者的名称统一