Проверка пароля с помощью AngularJS

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

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

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>

Ветви if и else проверки идентичны.

JJJ 06.05.2018 08:44
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
1
34
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

<!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>

Эй, могу я спросить, что ты там делал? У меня проблемы, в чем была моя ошибка. Спасибо.

Binay Dhawa 06.05.2018 09:49

Ничего страшного, спасибо, это была глупая ошибка !!! Спасибо за помощь

Binay Dhawa 06.05.2018 09:52

Другие вопросы по теме