iview中Form表单,使用部分验证validateField,对多个参数验证

使用map循环对每个字段进行验证
  let fieldsToValidate = ['username', 'password', 'gender', 'email'];
  let _self = this;
  Promise.all(fieldsToValidate.map(item => {
    let p = new Promise(function (resolve, reject) {
      _self.$refs['form'].validateField(item, (error) => {
        resolve(error)
      })
    });
    return p;
  })).then((data) => {
    console.info(data)
    // data 里是各个字段的验证错误信息, 如果为空串则认为验证通过, 如果数组里全为空串则所有验证通过
    // 判断data 里是否全是空串
    
    // 去除数组空值
    data = data.filter(item => item)
    if(!data.length){
      console.log('通过验证')
    } else {
      console.log('验证不通过')
    }
  })

你可能感兴趣的:(iview)