html代码
<form name="form"> <input type="password" name="password" ng-model="password" required placeholder="请输入密码"> <input type="password" name="passwordConfirm" ng-model="passwordConfirm" equal-to="password" placeholder="请再次输入密码"> <span ng-show="form.passwordConfirm.$error.equalTo">两次密码不一致</span> </form>
js
angular.module("Valid",[]) .directive("equalTo", function () { return { require: "ngModel", link: function (scope, ele, attrs, ctrl) { console.log(scope);//打印当前作用域 console.log(attrs);//打印当前标签属性列表 console.log(ctrl);//打印当前ctrl var target = attrs["equalTo"];//获取自定义指令属性键值 if (target) {//判断键是否存在 scope.$watch(target, function () {//存在启动监听其值 ctrl.$validate()//每次改变手动调用验证 }) // 获取当前模型控制器的父控制器FormController var targetCtrl = ctrl.$$parentForm[target];//获取指定模型控制器 console.log(targetCtrl) ctrl.$validators.equalTo = function (modelValue, viewVale) {//自定义验证器内容 var targetValue = targetCtrl.$viewValue;//获取password的输入值 return targetValue == viewVale;//是否等于passwordConfirm的值 } ctrl.$formatters.push(function (value) { console.log("正在进行数据格式化的值:",value) return value; }) ctrl.$parsers.push(function (value) { console.log("正在进行数据转换的值:",value) return value; }) } } } })
演示地址:https://tianyouh.github.io/angularPasswordConfirm/
您可能感兴趣的文章:
- angularjs2 ng2 密码隐藏显示的实例代码
- Angularjs修改密码的实例代码
- AngularJS前端页面操作之用户修改密码功能示例
- angular仿支付宝密码框输入效果
- 在 Angular2 中实现自定义校验指令(确认密码)的方法
- AngularJs验证重复密码的方法(两种)
- Angular实现点击按钮控制隐藏和显示功能示例
- Angular实现点击按钮后在上方显示输入内容的方法
- AngularJS实现根据不同条件显示不同控件
- AngularJS实时获取并显示密码的方法