element中自带的表单必填项校验不能去除空格,此时若输入空格,required: true验证还是可以通过。若想正确校验需要去除字符两边的空格。在v-model加上.trim就可以解决。(但v-model.trim只适应字符中间没有空格的情况,若字符中间需要空格就有问题,具体可以看评论区)
一、未加.trim()
<el-form :rules="rules">
<el-form-item label="名称" prop="name">
<el-input size="small" v-model="form.name" placeholder="请输入名称"></el-input>
</el-form-item>
</el-form>
rules: {
name: [{ required: true, message: '名称不能为空', trigger: 'blur' },]
}
输入空格后验证结果: 此时输入两个空格,验证通过
二、加上.trim
<el-form :rules="rules">
<el-form-item label="名称" prop="name">
<el-input size="small" v-model.trim="form.name" placeholder="请输入名称"></el-input>
</el-form-item>
</el-form>
rules: {
name: [{ required: true, message: '名称不能为空', trigger: 'blur' },]
}
输入空格后验证结果: 此时输入两个空格,验证不通过