Подтверждение пароля с AngularJS - PullRequest
0 голосов
/ 06 мая 2018

Эй, я пытаюсь выяснить, что не так с моим кодом. Код должен подтверждать пароль с требованием иметь несколько специальных символов и устанавливать его минимальную длину.

Я установил правильную длину, но не могу заставить работать файл директивы.

app.directive('myPassord',function()
{
    return{
        require:'ngModel',
        link:function(scope,element,attr,myFormCtrl){
            function myValidation(value)
            {
                if (value.indexOf("$") > -1 || value.indexOf("%") > -1 || value.indexOf("^") > -1 || value.indexOf("&") > -1 || value.indexOf("*") > -1){
                    myCtrl.$setValidity('Charactervalidator', false);
                }else{
                    myCtrl.$setValidity('Charactervalidator', false);
                }

                return value;
            }
            myFormCtrl.$parsers.push(myValidation);
        }

    }
});

HTML-файл

<div ng-controller = "myFormCtrl" class="form-group">
<form name ="Form1" novalidate="novalidate" class="Form1">
<p>
            <label for = "password1" class= "col-lg-2">Password</label>
            <input type="text" name="Password1" ng-model="user.password" ng-minlength ="8" required data-my-password>
            <span ng-show="Form1.Password1.$touched && Form1.Password1.$invalid"  style="color:red">    Password must contain at least 8 characters and a special character</span>

        </p>
</form>
</div>

1 Ответ

0 голосов
/ 06 мая 2018

Я исправляю твой код. Попробуйте этот код. Надеюсь, это поможет вам

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

<body ng-app="myApp">
  <div class="form-group">
    <form name="Form1" novalidate="novalidate" class="Form1">
      <p>
        <label for="password1" class="col-lg-2">Password</label>
        <input type="text" name="Password1" ng-model="user.password" ng-minlength="8" required my-password>
        <span ng-show="Form1.Password1.$touched && Form1.Password1.$invalid" style="color:red">
            Password must contain at least 8 characters and a special character</span>
      </p>
    </form>
  </div>
  <h1>{{myForm.myInput.$valid}}</h1>
  <script>
    var app = angular.module('myApp', []);
    app.directive('myPassword', function() {
      return {
        require: 'ngModel',
        link: function(scope, element, attr, myFormCtrl) {
          function myValidation(value) {
            if (value.indexOf("$") > -1 ||
              value.indexOf("%") > -1 ||
              value.indexOf("^") > -1 ||
              value.indexOf("&") > -1 ||
              value.indexOf("*") > -1) {
              myFormCtrl.$setValidity('Charactervalidator', true);
            } else {
              myFormCtrl.$setValidity('Charactervalidator', false);
            }

            return value;
          }
          myFormCtrl.$parsers.push(myValidation);
        }
      }
    });
  </script>
</body>

</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...