el-form,el-form-item,表单项,如el-input 在Rules:{}中给每一个需要校验的数据写校验规则
password:[{required:true,trigger:'blur',min:6,max:10,message:'密码长度为6-10位'}
]
mobile: [{ required: true, trigger: 'blur', validator: validateMobile }]
export {validMobile} from '@/utils/validate' //需要导入手机号校验函数
const validateMobile = (rule, value, callback) => {if (!validMobile(value)) {callback(new Error('请输入合法的手机号'))} else {callback()}}
此处validMobile()函数是封装的一个校验手机号函数
export function validMobile(mobile) {const reg = /^(?:(?:\+|00)86)?1[3-9]\d{9}$/return reg.test(mobile)
}
是点击登录按钮后对表单的整体校验
对el-form添加ref以方便获取整个表单的DOM元素如ref='loginForm'
兜底校验,给登录按钮添加点击事件,点击事件内写
//this.$refs.loginForm获取DOM 表单校验validate方法有一个参数,参数是一个回调函数
//回调函数的参数是valid,值为布尔值,true表示表单验证通过,false表示表单验证不通过,这也就是手动的兜底校验
this.$refs.loginForm.validate(valid => {if(valid){//表单验证都通过后进行的操作}
})