Vue Element UI 之表单验证 -- 对el-form表单的部分字段验证 / 某个字段验证

参考:https://blog.csdn.net/weixin_30629977/article/details/95009851
和https://blog.csdn.net/qq_37782076/article/details/85123602

例子:如下图所示,在注册功能中,点击“获取验证码”按钮的时候,对手机号输入和随机验证码输入进行正确性校验
Vue Element UI 之表单验证 -- 对el-form表单的部分字段验证 / 某个字段验证_第1张图片

这里用到了一个方法:validateField

关于此方法,Element 官网提供的方法说明如下:
Vue Element UI 之表单验证 -- 对el-form表单的部分字段验证 / 某个字段验证_第2张图片
在这里,为了省事,只写了逻辑代码

data() {
	// 自定义验证规则(具体代码省略)
	const mobileType = (rule, value, callback) => {……}
	const validateVerifycode = (rule, value, callback) => {……}
	return{
		registerForm: {
			user_mobile: '',
			verifycode: ''
		},
		registerFormRules: {
			user_mobile: [
			    { required: true, message: '请输入手机号', trigger: 'blur' },
				{ required: true, trigger: 'blur', validator: mobileType }
			  ],
			verifycode: [
				{ required: true, message: '请输入随机验证码', trigger: 'blur' },
				{ required: true, trigger: 'blur', validator: validateVerifycode }
			]
		}
	}
},
methods: {
	getTelCode() {
		// 1.判断随机验证码是否通过验证
		this.$refs.registerFormRef.validateField('verifycode', (verifycode_check) => {
			// 三种情况:verifycode_check='请输入验证码',verifycode_check='验证码不正确',verifycode_check=''(返回值为空时,验证通过;返回值非空时,验证失败)
			if(verifycode_check) return
			console.log('随机验证码验证通过')
			// 2.判断手机号是否通过验证
			this.$refs.registerFormRef.validateField('user_mobile', (user_mobile_check) => {
				if(!user_mobile_check) return
				console.log('手机号验证通过')
				// 3.以上两个验证通过,放行--发送手机验证码
				console.log('在这里进行发送手机验证码的事务处理')
			})
		})
	}
}

你可能感兴趣的:(#,element)