【问题标题】:Update model even validations are not satisfied更新模型,即使验证不满足
【发布时间】:2016-01-04 05:24:00
【问题描述】:

我想更新我的模型,即使 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 满意,手机才会更新。

【问题讨论】:

    标签: javascript angularjs validation angular-ngmodel


    【解决方案1】:
    如果模型中设置了任何无效标志,

    angular 不会对 scope$modelValue 应用任何更改。当您开始验证过程时,您正在设置 minlength="11" 。这告诉 Angular 除非值大于 10,否则不要将值应用于模型。所以,我想除非验证为真,否则无法更新模型值..

    【讨论】:

    • 解决这个问题我认为最好的方法是在提交数据时进行验证并在当时显示错误消息...
    猜你喜欢
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多