vue element-ui 进行表单校验时自定义校验规则 没有小星星,显示英文校验提示
之前遇到了一个小问题,就是要自定义校验规则,但是加上了自定义校验规则之后,左上角的小红星星不显示了,按照网上的说法在element ui 元素上加了required,又遇到了新问题,在输入数据,一点一点删掉之后,下边的提示竟然出现了校验默认的英文。直接上正确代码,再总结问题<el-form-item label="软件名称" prop="softwareName">...
·
之前遇到了一个小问题,就是要自定义校验规则,但是加上了自定义校验规则之后,左上角的小红星星不显示了,按照网上的说法在element ui 元素上加了required,又遇到了新问题,在输入数据,一点一点删掉之后,下边的提示竟然出现了校验默认的英文。
直接上正确代码,再总结问题
<el-form-item label="软件名称" prop="softwareName">
<el-col :span="24">
<el-input v-model="postForm.softwareName" placeholder="请输入软件名称" style="width: 250px;" />
</el-col>
</el-form-item>
<el-form-item label="软件版本" prop="softwareVersion">
<el-col :span="24">
<el-input v-model="postForm.softwareVersion" placeholder="请输入软件版本" style="width: 250px;" />
</el-col>
</el-form-item>
export default {
name: 'CreateForm',
data() {
// 软件名称校验
var checkSoftwareName = (rule, value, callback) => {
if (value === '') {
return callback(new Error('软件名称不能为空'))
} else {
if (!(/^[0-9a-zA-Z\u4e00-\u9fa5]+$/.test(value))) {
callback(new Error('软件名称由数字字母和中文组成'))
} else {
callback()
}
}
callback()
}
// 软件版本校验 名称+版本唯一性校验
var validateSoftwareVersion = (rule, value, callback) => {
if (value === '') {
callback(new Error('软件版本不能为空'))
} else {
if (!(/^\d+\.\d+\.\d+$/.test(value))) {
callback(new Error('版本号不合法'))
}
callback()
}
}
return {
postForm: {
softwareName: '',
softwareVersion: ''
},
// 校验
rules: {
softwareName: [
{ required: true, validator: checkSoftwareName, trigger: 'blur' }
],
softwareVersion: [
// required放在这一样有小星星,还不会出现原生英文的问题
{ required: true, validator: validateSoftwareVersion, trigger: 'blur' }
]
}
}
}
}
总结一下问题
不能再UI元素上添加这个,会导致默认的英文提示,应该放到下边
更多推荐
已为社区贡献3条内容
所有评论(0)