Проверьте, если поле ввода пустое


Как я могу проверить, если данный входной контроль пуста? Я знаю, что есть $pristine свойство в поле, которое говорит, что если данное поле изначально пусто, но что, если кто-то заполнит поле и снова выдернет все содержимое?

Я думаю, что выше функция необходима, так как ее важно сообщить пользователю, что поле требуется.

любая идея будет оценена!

4   51  

4 ответа:

очень просто:

<input ng-model="somefield">
<span ng-show="!somefield.length">Please enter something!</span>
<span ng-show="somefield.length">Good boy!</span>

вы также можете использовать ng-hide="somefield.length" вместо ng-show="!somefield.length" если это читается более естественно для вас.


лучшей альтернативой может быть действительно воспользоваться форма способности угловой:

<form name="myform">
  <input name="myfield" ng-model="somefield" ng-minlength="5" required>
  <span ng-show="myform.myfield.$error.required">Please enter something!</span>
  <span ng-show="!myform.myfield.$error.required">Good boy!</span>
</form> 

Обновлено Plnkr здесь.

даже не нужно измерять длину строки. А ! оператор может решить все за вас. Всегда помнить: !(пустая строка) = истина !(некоторая строка) = false

Так что вы могли бы написать:

<input ng-model="somefield">
<span ng-show="!somefield">Sorry, the field is empty!</span>
<span ng-hide="!somefield">Thanks. Successfully validated!</span>

другой подход использует регулярное выражение , как показано ниже, вы можете использовать пустой шаблон регулярного выражения и достичь того же с помощью ng-pattern

HTML:

 <body ng-app="app" ng-controller="formController">
 <form name="myform">
 <input name="myfield" ng-model="somefield" ng-minlength="5" ng-pattern="mypattern" required>
 <span ng-show="myform.myfield.$error.pattern">Please enter!</span>
 <span ng-show="!myform.myfield.$error.pattern">great!</span>
</form>

Controller:@formController :

         var App = angular.module('app', []);
         App.controller('formController', function ($scope) {              
             $scope.mypattern = /^\s*$/g;
         });

автоматически проверять флажок, если поле ввода не пустое.

 <md-content>
            <md-checkbox ng-checked="myField.length"> Other </md-checkbox>
            <input  ng-model="myField" placeholder="Please Specify" type="text">
 </md-content>