检查input框是否为空

我怎样才能检查给定的input控件是否为空? 我知道这个领域有一个$pristine属性,它告诉我们如果一个给定的领域最初是空的,但是如果某个人填满了领域并且再次把整个内容全部抽出来呢?

我认为上面的function是必要的,因为它告诉用户该字段是必需的重要。

任何想法将不胜感激!

非常简单 :

 <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"如果那样的话对你来说更自然。


更好的select可能是真正利用Angular的表单能力 :

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

即使你不需要测量string的长度。 一个 ! 操作员可以为您解决所有问题。 请记住:!(空string)= true!(某个string)= false

所以你可以写:

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

另一种方法是使用正则expression式,如下所示,您可以使用空的正则expression式模式,并使用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> 

控制器:@formController:

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

如果input字段不为空,则自动检查checkbox。

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