Angular语言 - 无效模型值的解决方法



我引用了https://github.com/angular/angular.js/issues/1412

我有一个ng-maxlength="10"ng-model="form.name"的输入

用户可以在输入框中输入文本,一旦达到限制,就会显示错误,用户无法提交表单。

问题:如果他们点击一个按钮来填充表单的内部数据,它抛出一个错误。

的例子:

<button ng-click="form.name='12345678901'">Populate Invalid Data</button> 

小提琴——http://jsfiddle.net/kCzjC/1/

在表单元素上使用$setViewValue (http://jsfiddle.net/kCzjC/5/):

)
<button ng-click="myForm.formName.$setViewValue('12345678901'); myForm.formName.$render();">Populate Invalid Data</button>

AngularJS格式化器(管道中用来根据模型更新填充视图值的函数)用于大多数angular验证(例如maxlength),如果发现模型值无效,则不会更新视图值。从ngModelCtrl调用$setViewValue和$render函数将填充输入框。ngModelCtrl可以通过ngForm访问。其中,ngForm是表单的名称,inputName是表单中ng-model的名称。

最新更新