Vue+Antd表单校验form.validateFields执行错误的解决方法

以下是一段手机号的的自定义校验,在提交表单的时候form.validateFields总是出现错误,方法无法向下执行

//自定义校验(检查手机号是否输入正确)
checkPhone(rule, value, callback) {
  if (value != null && value != "") {
    var reg = /^1[3456789]\d{9}$/;
    if (!reg.test(value)) callback(new Error("手机号格式不正确"));
  } else {
    callback();
  }
}
解决方法

在自定义校验里面每一个判断都要调用callback(),要保证方法最后执行到的永远都是callback()

//自定义校验(检查手机号是否输入正确)
checkPhone(rule, value, callback) {
  if (value != null && value != "") {
    var reg = /^1[3456789]\d{9}$/;
    if (!reg.test(value)) callback(new Error("手机号格式不正确"));
    //调用callback
    else callback();
  } else {
    callback();
  }
}

你可能感兴趣的:(Vue,vue,js)