Angularjs:使用ng-form检查输入是否为空

时间:2014-12-04 21:40:42

标签: angularjs forms input is-empty

我的代码如下:

<ng-form name="invitationForm">
<div ng-repeat="email in emails" ng-form='lineForm'>
    <div class="has-feedback" ng-class="{'has-error': lineForm.$invalid && lineForm.input, 'has-success': lineForm.input && !lineForm.$invalid}">
        <label class="control-label sr-only" for="inputSuccess">Input with success</label>
        <input ng-change="inputCheck($index)" id="inputSuccess" placeholder="Enter your friend's email" name="input" ng-model="email.value"  class="form-control input-mini" aria-describedby="inputSuccessStatus" type="email" />
    </div>
</div>
</ng-form>

我想要做的是当lineForm无效且输入不为空时,具有类“has-feedback”的div具有类“has-error”。 我把条件线条形式。$ invalid&amp;&amp; lineForm.input但lineForm.input似乎不起作用。 我也试过lineForm.input.length无济于事。

由于

1 个答案:

答案 0 :(得分:1)

http://plnkr.co/edit/se8iBxlUK6J0oS8lUWTn?p=preview

我认为你不需要创造那么多形式。看看这个例子(带有所需输入的几个元素:

<form role="form" name="theform">

  <div ng-repeat="number in [1,2,3]">
    <input type="text" 
           name="{{$index}}" 
           ng-model="number" 
           required="" />
  </div>

  {{ theform.$valid ? 'yes, valid form' : 'no, invalid' }}

  <br/><br/>

  <div ng-repeat="element in theform">
    {{ element.$valid }}
  </div>

   <br/>
   Explore this:
   <br/><br/>
   {{ theform }}

</form>

有关使用formController可以执行的操作的更多示例: https://docs.angularjs.org/api/ng/type/form.FormController