AngularJS:添加檢查密碼輸入是否一致的功能


感謝作者(http://blog.brunoscopelliti.com/angularjs-directive-to-check-that-passwords-match)

利用AngularJS的directive,我們可以很方便的實現檢驗功能。代碼如下:

 1 // 密碼驗證directive
 2 ftitAppModule.directive('pwCheck', [function () {
 3     return {
 4         require: 'ngModel',
 5         link: function (scope, elem, attrs, ctrl) {
 6             var firstPassword = '#' + attrs.pwCheck;
 7             elem.add(firstPassword).on('keyup', function () {
 8                 scope.$apply(function () {
 9                     var v = elem.val()===$(firstPassword).val();
10                     ctrl.$setValidity('pwmatch', v);
11                 });
12             });
13         }
14     }
15 }]);

Demo html代碼(feedback部分請參考http://www.cnblogs.com/ilovewindy/p/3795993.html):

 1 <div class="form-group">
 2     <label for="userPassword">密碼</label>
 3     <input type="password" class="form-control" id="userPassword" name="userPassword"
 4            placeholder="請輸入密碼" ng-model="selectedUser.userPassword">
 5 </div>
 6 <div class="form-group has-feedback"
 7      ng-class="{'has-success' : !usrMgrForm.confirmPassword.$pristine && usrMgrForm.confirmPassword.$valid,
 8                 'has-error' : !usrMgrForm.confirmPassword.$pristine && usrMgrForm.confirmPassword.$invalid }">
 9     <label for="confirmPassword">確認密碼</label>
10     <input type="password" class="form-control" id="confirmPassword" name="confirmPassword"
11            placeholder="請再次輸入密碼" ng-model="selectedUser.confirmPassword" pw-check="userPassword">
12     <div ng-show="!usrMgrForm.confirmPassword.$pristine && tagName.confirmPassword.$valid">
13         <span class="glyphicon glyphicon-ok form-control-feedback"></span>
14     </div>
15     <div ng-show="!usrMgrForm.confirmPassword.$pristine && usrMgrForm.confirmPassword.$invalid">
16         <span class="glyphicon glyphicon-remove form-control-feedback"></span>
17     </div>
18 </div>

效果如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM