2021年6月

submitForm(formName) {
    this.$refs[formName].validate((valid) => {
      if (valid) {  // 无法获取到true
        alert('submit!');
      } else {
        console.log('error submit!!');
        return false;
      }
    });
  },

官网描述: 自定义校验 callback 必须被调用
自定义验证的时候如果不加上callback()会导致没有函数返回,无论是在if上还是其他判断条件都必须完整的有callback()
bad example:

var checkPWd = (rule, value, callback) => {
  var reg = /^[a-zA-Z0-9_-]+$/
  if (!reg.test(value)) {
    callback(new Error('XXXXXXXXXXXXXXXXXXXXX'))
  } 
};  // valid无法获取到true,false能正常获取

good example:

var checkPWd = (rule, value, callback) => {
  var reg = /^[a-zA-Z0-9_-]+$/
  if (!reg.test(value)) {
    callback(new Error('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'))
  } else {
    callback() // 必须要callback , 否则 提交验证不执行
  }
};  // 可以正常使用验证并通过

  1. json类型的post发送会默认使用的request payload 但是要改成formData形式时可以使用var qs = require('qs')来转换数据

     qs.parse()将URL解析成对象的形式
     qs.stringify()将对象 序列化成URL的形式,以&进行拼接
    
  2. 如果是需要反过来转换,那么需要使用请求头的改变application/json

2021年9月10日16:54:49
1.可以通过直接在header加{'content-type':'application/x-www-form-urlencoded'}解决