Angular - 检查字段是否为空

时间:2016-03-17 19:56:28

标签: angularjs

这里有点琐碎,但对Angular来说是个新人,请原谅。

每当我有一个输入字段时 - 如果该字段实际上包含一些有效内容,我只想要一个动作。

我发现我必须首先实例化一个变量,然后将其分配给任何输入,然后在if中进行布尔检查。

这是解决这个问题的正确方法吗?如果我没有实例化变量(或者根本不使用变量),我会遇到undefined错误:

var textToSearch = '';
textToSearch = $scope.main.searchInputField.trim();

if (textToSearch){
      $location.path('/search/'+textToSearch);
}

另外(另一方面) 我正在清理服务器端的所有内容,但是在Angular /客户端,我可以使用快速简单的功能吗?

由于

3 个答案:

答案 0 :(得分:0)

我想你有'main.searchInputField'的ng-model,所以如果你想检查字段是否为空,你可以写

$scope.main = {};
if($scope.main.searchInputField.trim().length > 0){
 //do stuff
}

答案 1 :(得分:0)

假设您输入字段1的ng-modelsome.data,输入字段为some.data1

for(var i=0; i<$scope.some.length;i++){
    if($scope.some[i]){
        //do something
     }
}

它将检查每个字段。

答案 2 :(得分:0)

这是使用Bootstrap进行电子邮件验证,但如果您使用自己的类,则适用相同的逻辑。

<div ng-class="(emailRegExp.test(email) && email != null) ? 'has-success' : 'has-error'" class="form-group has-feedback">
  <div class="input-group">
    <div class="input-group-addon">
      <span class="glyphicon glyphicon-envelope"></span>
    </div>
    <input ng-model="email" ng-change="checkEnableSubmit()" id="email" placeholder="Email Address" type="text" class="form-control" aria-describedby="emailStatus">
  </div>
  <span ng-class="(emailRegExp.test(email) && email != null) ? 'glyphicon-ok' : 'glyphicon-remove'" class="glyphicon form-control-feedback" aria-hidden="true"></span>
</div>

ng-class指令在以下情况下完成验证:

  1. 控制器中的checkEnableSubmit()函数只允许在数据有效时提交(我很乐意也包含该代码)
  2. 第1行的三元运算符中的两个类都表示有效数据和无效数据(在此示例中,一个使输入显示为绿色,另一个显示为红色)