2014-12-03 43 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

相关问题