不满足更新模型甚至验证

时间:2016-01-04 05:24:00

标签: javascript angularjs validation angular-ngmodel

我想更新我的模型,即使ng-minlengthng-maxlength等验证失败也是如此。

我有一个方案来切换包含具有相同数据的相似表单的选项卡。因此,当我切换它时,如果输入有效(适当的长度和模式),另一种形式的其他字段将保留数据。

但是如果输入值无效,则模型不会更新,因此不会保留字段值。

有没有办法在AngularJS中解决这个问题? 提前谢谢。

<form name="myForm" ng-submit="count = count + 1" ng-init="count=0" ng-app>
<div class="control-group" ng-class="{error: myForm.mobile.$invalid}">
  <label class="control-label" for="mobile">Mobile</label>
  <div class="controls">
      <input type="text" name="mobile" placeholder="XXXXXXXXXXX" ng-model="mobile" ng-minlength="11"  required/>
      <span ng-show="myForm.mobile.$error.required" class="help-inline">Required</span>
      <span ng-show="myForm.mobile.$error.minlength" class="help-inline">Mobile number should be minimum 11 character</span>           
  </div>
</div>

<div class="control-group">
  <div class="controls">                       
    <input  class="btn" type="submit" value ="submit" />
  </div>
  <tt>mobile = {{mobile}}</tt><br/>
</div>
</form>

JS Fiddle

正如您在小提琴中看到的那样,在min-length满足之前,手机不会更新。

1 个答案:

答案 0 :(得分:3)

如果模型中设置了任何无效标记,则

angular不会对范围 $ modelValue 应用任何更改。当您开始验证过程时,您将设置 minlength =“11”。这是告诉角度不将值应用于模型,除非该值大于10.因此,我想除非验证为真,否则无法更新模型值。