AngularJs验证重复密码的方法(两种)


Posted in Javascript onNovember 25, 2016

本文给大家分享angularjs验证重复密码的两种方法。具体方法详情如下所示:

第一种:

<label for="password">密码</label>
<input id="password" name="password" type="password" ng-model="user.password" required>
<label for="repassword">重复密码</label>
<input id="repassword" name="repassword" type="password" ng-model="repassword" required>
<span style="color:red" ng-show="user.password!=repassword">两次密码不一致</span>
<input type="submit" class="btn btn-primary btn-lg" value="SAVE" ng-disabled="submit(userForm)"/>
/*JS*/
app.controller("main",function($scope){
$scope.submit=function(ngFormController){
return ngFormController.$invalid; /*valid的取反*/
};
});

这种是单纯的判断两个ng-model所在的值是否相等,不等则显示出被ng-show指令控制的信息,等则隐藏。

但这种办法虽然很简单,但是却有个我认为比较严重的缺陷:这个“密码不一致”并没有影响到ngFormController的内部。也就是说,即使它两次密码不正确,最后的提交按钮还是可以点击的,因为ngFormController的$invalid 并没有认为两次密码不正确是一种错误。

参考一下AngularJS的指令ng-maxlength等,他们却可以引起$invalid 的检测,所以要解决上面的问题,我觉得办法之一就是创建一个用于验证两次密码是否一致的自定义指令。

/*指令创建*/
app.directive('equals',function(){
return{
require:'ngModel',
link:function(scope,elm,attrs,ngModelCtrl){
function validateEqual(myValue){
var valid = (myValue === scope.$eval(attrs.equals));
ngModelCtrl.$setValidity('equal',valid);
return valid ? myValue : undefined;
}
ngModelCtrl.$parsers.push(validateEqual);
ngModelCtrl.$formatters.push(validateEqual);
scope.$watch(attrs.equals,function(){
ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue);
})
}
}
});
<!--html-->
<label for="password">密码</label>
<input id="password" name="password" type="password" ng-model="user.password" required>
<label for="repassword">重复密码</label>
<input id="repassword" name="repassword" type="password" ng-model="repassword" <!--注意这里将要使用我自定义的指令-->equals="user.password" required>
<span style="color:red" ng-show="user.password!=repassword">两次密码不一致</span>
<input type="submit" class="btn btn-primary btn-lg" value="SAVE" ng-disabled="submit(userForm)"/>

这样,加上第一个办法的判断,就可以完美地验证重复密码了。

以上所述是小编给大家介绍的AngularJs验证重复密码的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
ExtJS 工具栏 分页事件参数
Mar 05 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
Jan 08 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
Dec 07 Javascript
input点击后placeholder中的提示消息消失
Jan 15 Javascript
Web前端开发工具——bower依赖包管理工具
Mar 29 Javascript
JavaScript 不支持 indexof 该如何解决
Mar 30 Javascript
JS类的定义与使用方法深入探索
Nov 26 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
Jan 12 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
Jan 14 Javascript
vue如何截取字符串
May 06 Javascript
如何在Vue.JS中使用图标组件
Aug 04 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
Aug 17 Javascript
jQuery实现发送验证码并60秒倒计时功能
Nov 25 #Javascript
js document.getElementsByClassName的使用介绍与自定义函数
Nov 25 #Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
Nov 25 #Javascript
JS实现的图片预览插件与用法示例【不上传图片】
Nov 25 #Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
Nov 25 #Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
Nov 25 #Javascript
bootstrap-datetimepicker实现只显示到日期的方法
Nov 25 #Javascript
You might like
PHP5 面向对象(学习记录)
2009/12/02 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
2013/06/03 PHP
php实现天干地支计算器示例
2014/03/14 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
如何手动实现es5中的bind方法详解
2018/12/07 Javascript
vue中提示$index is not defined错误的解决方式
2020/09/02 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
Python修改Excel数据的实例代码
2013/11/01 Python
python threading模块操作多线程介绍
2015/04/08 Python
理解Python中函数的参数
2015/04/27 Python
Python 3中print函数的使用方法总结
2017/08/08 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
Python解析多帧dicom数据详解
2020/01/13 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
英语文学专业学生的自我评价
2013/10/31 职场文书
体育专业个人求职信范文
2013/12/27 职场文书
中职三好学生事迹材料
2014/08/24 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
小学数学教师研修日志
2015/11/13 职场文书
2016年社区六一儿童节活动总结
2016/04/06 职场文书
windows安装python超详细图文教程
2021/05/21 Python
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记