uniapp-验证两次输入的密码是否一致

uniapp 验证两次输入的密码是否一致

1.界面示例

在这里插入图片描述

2.表单

	<view class="change_from">
			<u-form :model="form" ref="uForm">
				<u-form-item prop="oldpassword"><u-input v-model="form.oldpassword" type="password" placeholder="请输入原始密码" /></u-form-item>
				<u-form-item prop="newPwd"><u-input v-model="form.newPwd" type="password" placeholder="请输入6~15位新密码" /></u-form-item>
				<u-form-item prop="confirmPwd"><u-input v-model="form.confirmPwd" type="password" placeholder="请确认新密码" /></u-form-item>
			</u-form>
		</view>
		<u-button @click="submit" class="submit-btn">确认修改</u-button>

3.自定义验证规则

	data() {
		var validatePass = (rule, value, callback) => {
			if (value === '') {
				callback(new Error('请输入密码'));
			} else {
				// if (this.form.confirmPwd !== '') {
				// 	// this.$refs.uForm.validateField('confirmPwd');
				// 	callback(new Error('请输入新密码'));
				// }
				callback();
			}
		};
		var validatePass2 = (rule, value, callback) => {
			if (value === '') {
				callback(new Error('请再次输入密码'));
			} else if (value !== this.form.newPwd) {
				callback(new Error('两次输入密码不一致!'));
			} else {
				callback();
			}
		};
		return {
			form: {
				oldpassword: '',
				newPwd: '',
				confirmPwd: ''
			},
			rules: {
				oldpassword: [
					{
						required: true,
						message: '请输入原密码',
						// 可以单个或者同时写两个触发验证方式
						trigger: ['change', 'blur']	
					}
				],
				newPwd: [
					{ required: true, message: '请输入密码', trigger: 'blur' },
					{ min: 6, max: 16, message: '长度在 6 到 12 个字符', trigger: 'blur' },
					{ validator: validatePass, trigger: 'blur' }
				],
				confirmPwd: [
					{ required: true, message: '请确认密码', trigger: 'blur' },
					{ min: 6, max: 16, message: '长度在 6 到 12 个字符', trigger: 'blur' },
					{ validator: validatePass2, trigger: 'blur', required: true }
				]
			}
		};
	},

加载规则验证

onReady() {
		this.$refs.uForm.setRules(this.rules);
	}

4.提交验证

	submit() {
			this.$refs.uForm.validate(valid => {
				if (!valid) {	
					console.log('验证失败');
				} else {
					console.log('验证通过');
					console.log(this.form)
					// this.changePassword()     //接口调用
					// uni.navigateTo({
					// 	url: '../index/index'
					// });
				}
			});
		},
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值