我想更新我的模型,即使ng-minlength
和ng-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>
正如您在小提琴中看到的那样,在min-length
满足之前,手机不会更新。
答案 0 :(得分:3)
angular不会对范围和 $ modelValue 应用任何更改。当您开始验证过程时,您将设置 minlength =“11”。这是告诉角度不将值应用于模型,除非该值大于10.因此,我想除非验证为真,否则无法更新模型值。