2014-12-03 70 views
0

我不知道爲什麼,但默認情況下在Angular.js本作是由無效dafault(在表格上沒有互動):Angular.js形式Invalid-不知道爲什麼

<!-- Persistence --> 
    <div class="col-sm-6" ng-class="{'has-error': form.persistence.$dirty && form.persistence.$invalid}"> 
    <div class="checkbox"> 
     <input for="persistence" type="checkbox" ng-change="resetPersistenceInputBox(form, vip)" ng-model="persistanceCheckbox" ng-init="persistanceCheckbox=false">Client IP Based Persistence 
     <div> 
     <label class="control-label" style="font-weight: bold">Enter CIDR Netmask</label> 
      <div class="input-group"> 
      <span class="input-group-addon"> 
       x.x.x.x/ 
      </span> 
      <input type="text" class="col-sm-6 form-control" id="persistence" ng-init="persistanceCheckbox=false" name="persistence" 
      ng-disabled="!persistanceCheckbox" 
      ng-required="persistanceCheckbox" 
      ng-model="vip.algorithm.persistence" 
      ng-pattern='/^([0-9]|[12]\d|3[0-2])$/' 
      ng-trim="true" 
      placeholder="Enter a netmask between 0-32"> 
     </div> 
     <div class="help-block" ng-show="form.persistence.$dirty && form.persistence.$invalid"> 
     <span ng-show="form.persistence.$error.pattern && form.persistence.$dirty">Netmask must be a number between 0-32.</span> 
     <span ng-show="form.persistence.$error.required">CIDR Netmask is required while "Client IP Based Persistence" is checked.</span> 
     </div> 
    </div> 
    </div> 
</div> 
+1

作爲persistanceCheckbox是假的,輸入#持久性已禁用。 – 2014-12-03 18:11:37

+0

爲什麼這會導致表單無效? – dman 2014-12-03 18:45:31

回答

1

你形式是無效的,直到你鍵入輸入

<input type="text" class="col-sm-6 form-control" id="persistence" ng-init="persistanceCheckbox=false" name="persistence" 
      ng-disabled="!persistanceCheckbox" 
      ng-required="persistanceCheckbox" 
      ng-model="vip.algorithm.persistence" 
      ng-pattern='/^([0-9]|[12]\d|3[0-2])$/' 
      ng-trim="true" 
      placeholder="Enter a netmask between 0-32"> 

輸入需要與ng-required="persistanceCheckbox" 和必須滿足NG-模式:ng-pattern='/^([0-9]|[12]\d|3[0-2])$/'

+0

即使該表格默認禁用? – dman 2014-12-03 18:24:20

+0

我不明白當你的表單被禁用時你的意思。由於輸入是可見的並且必須滿足要求:必需&模式,當該輸入未被填充或與模式不匹配時,輸入將是無效的。如果所有內部組件都是有效的並且如果其中一個無效,則表單是有效的 – Pracede 2014-12-03 22:48:49

相關問題