element表单校验validate的封装

/**
 * V2
 * @param vm $refs.formName
 * @returns {boolean}
 */
export function formValidate(vm) {
  vm.validate();
  let validateList = vm.fields.map(_vm => ({
    validateState:_vm.validateState,
    validateMessage: _vm.validateMessage
  }));
  if(validateList.find(item=>item.validateState == 'error')){
    vm.$message.error(validateList.find(item=>item.validateState == 'error').validateMessage)
    return false
  }
  return true
}
import { ElMessage } from 'element-plus'
 // v3
async function validate (ref) {
  let result = true
  await ref.validate().catch((err) => {
    result = false
    ElMessage({
      message: Object.values(err)[0][0]?.message || '请填写必填项',
      type: 'error'
    })
  })
  return result
}
 
export {
  validate
}

 

posted @ 2024-11-26 14:37  YuyuFishSmile  阅读(33)  评论(0)    收藏  举报