el-form验证规则 bug
<el-form-item prop="contact">
<el-input v-model="scope.row.contact" oninput="value=value.replace(/[^\d]/g,'')" placeholder="请输入联系方式"></el-input>
</el-form-item>
const validatePhone = (rule, value, callback) => {
if (!value) {
// callback(new Error('请填写联系方式'))
} else {
var isPhone = /^1[3456789]\d{9}$/;
var isMob = /^(0\d{2,3}-)?(\d{7,8})$/;
if (isMob.test(value) || isPhone.test(value) || !value) {
return callback();
} else {
callback(new Error('电话号码格式错误'))
}
}
}
contact: [
{validator: validatePhone, trigger: 'blur'}
],
有一个bug就是我输入法切换到中文之后
随便乱摁几下就导致我的验证规则失效了 要不就是验证规则永远不成功
我是只能输入数字的 所以乱摁英文字母也没事儿 但是切换到中文键盘随便摁几下虽然输入不进去内容 但是会导致我的验证失效