Проверьте, если поле ввода пустое
Как я могу проверить, если данный входной контроль пуста? Я знаю, что есть $pristine
свойство в поле, которое говорит, что если данное поле изначально пусто, но что, если кто-то заполнит поле и снова выдернет все содержимое?
Я думаю, что выше функция необходима, так как ее важно сообщить пользователю, что поле требуется.
любая идея будет оценена!
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>
даже не нужно измерять длину строки. А ! оператор может решить все за вас. Всегда помнить: !(пустая строка) = истина !(некоторая строка) = 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; });