el-form表单校验碰见的坑
这几天做公司的业务需求,把一个弹框改为页面,页面具体内容没变,只是增加了表单校验。刚开始是只需要判断不为空,但是每次在请求里面判断数据格式,太费事。但是,在做校验的时候碰见了几个坑。先上图吧
这是目标样子
原先的需求就是,我输入会员号合商品ID后下面要出现会员和商品的信息,但是会员和商品的都要做校验。
坑就是,出现错误却不提示,没报错却提示,这个弄了我好久。代码进行了精简,差不多就是这个。我出不来的原因,一个type,还一个trigger,我的表单中其中一个select框,但我写成了blur,然后还有一个就是我在正常返回的时候没有写callback。所以说写代码还是细致活。要是有错误的话,欢迎大家指出来。
const checkUser = (rule, value, callback) => {
console.log(value, 'check Num');
if (!value) {
return callback(new Error('请输入充值账户'));
} else {
if (this.member[0].level === '股东' || this.member[0].level === '专家') {
return callback(new Error('该账户不可充值'));
} else {
callback();
}
}
};
ruleForm: {
userCode: '',
},
rules: {
userCode: [{ type: 'string', required: true, validator: checkUser, trigger: 'change' }],
remark: [{ type: 'string', required: true, message: '请输入备注', trigger: 'blur' }]
},