根据ng-repeat angularjs内部的控制验证禁用该按钮

时间:2016-08-03 10:35:51

标签: javascript jquery html angularjs

plunkr链接

https://plnkr.co/edit/vuktW1bWSNIoV43Qp8DC?p=preview

 <form name="myForm">
    <div ng-repeat ="ndc in NDCarray">
    <div class="col-sm-4 type7" style="font-size:14px;">
        <div style="margin-bottom:5px;">NDC9</div>

  <label>Number:
    <input type="number"  ng-model="ndc.value"
           min="0" max="99" name="{{'input_'+$index}}" required>
 </label>
  <div role="alert">
    <span class="error" ng-show="myForm.input.$dirty && myForm.input.$error.required">
      Required!</span>
    <span class="error" ng-show="myForm.input.$error.number">
      Not valid number!</span>
  </div>
  <tt>value = {{example.value}}</tt><br/>
  <tt>myForm['input_{{$index}}'].$valid = {{myForm['input_'+$index].$valid}}</tt><br/>
  <tt>myForm['input_{{$index}}'].$error = {{myForm['input_'+$index].$error}}</tt><br/>

    </div>
    <div class="col-sm-4 type7 " style="font-size:14px;">
        <div style="padding-top:20px; display:block"> 
            <span class="red" id="delete" ng-class="{'disabled' : 'true'}" ng-click="NDCdelete($index)">Delete</span> &nbsp; 
            <span>Cancel </span> &nbsp;  
            <span id="addRow" style="cursor:pointer" ng-click="NDCadd()">Add </span>
        </div>
    </div>
  </div>
  <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>
  <tt>myForm.$error.required = {{!!myForm.$error.required}}</tt><br/>
 <button>Save</button>
   </form>

我们可以输入数字中的值并单击添加,它将创建具有相同选项的新文本框(删除,取消,添加)。该文本框有一些验证

  1. 必需
  2. 最小和最大范围 如果我通过单击添加动态创建4个文本框并更改任何文本框的值导致验证失败意味着,我想禁用ng-repeat之外的保存按钮。
  3. 如果验证中的任何文本框失败,则需要禁用保存按钮。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

<button ng-disabled="!myForm.$valid">Save</button>

据我了解你的问题,这是你想要达到的目标?