Javascript 角度-无效模型值的解决方法
我有点参考价值 基本上,我有一个带有Javascript 角度-无效模型值的解决方法,javascript,angularjs,validation,Javascript,Angularjs,Validation,我有点参考价值 基本上,我有一个带有ng maxlength=“10”和ng model=“form.name” 用户可以在输入框中键入文本,一旦达到限制,就会显示错误,并且无法提交表单。这是完美的 问题:如果他们单击按钮用内部数据填充表单,则会抛出错误 例如: <button ng-click="form.name='12345678901'">Populate Invalid Data</button> 填充无效数据 Fiddle-在表单元素()上使用$setV
ng maxlength=“10”
和ng model=“form.name”
用户可以在输入框中键入文本,一旦达到限制,就会显示错误,并且无法提交表单。这是完美的
问题:如果他们单击按钮用内部数据填充表单,则会抛出错误
例如:
<button ng-click="form.name='12345678901'">Populate Invalid Data</button>
填充无效数据
Fiddle-在表单元素()上使用$setViewValue:
填充无效数据
如果发现模型值无效,大多数角度验证(例如maxlength)的AngularJS格式化程序(管道中用于根据模型更新填充视图值的函数)不会更新视图值。从ngModelCtrl调用$setViewValue和$render函数将填充输入框。ngModelCtrl可通过ngForm.inputName访问,其中ngForm是表单的名称,inputName是表单中ng模型的名称。在表单元素()上使用$setViewValue:
填充无效数据
如果发现模型值无效,大多数角度验证(例如maxlength)的AngularJS格式化程序(管道中用于根据模型更新填充视图值的函数)不会更新视图值。从ngModelCtrl调用$setViewValue和$render函数将填充输入框。ngModelCtrl可通过ngForm.inputName访问,其中ngForm是表单的名称,inputName是表单中ng模型的名称。谢谢!这让我找到了正确的方向。从控制器中,它是
$scope.myForm.formName.$setViewValue('12345678901')代码>以防其他人正在寻找从控制器调用表单的方法。谢谢!这让我找到了正确的方向。从控制器中,它是$scope.myForm.formName.$setViewValue('12345678901')代码>以防其他人正在寻找从控制器调用表单的方法。
<button ng-click="myForm.formName.$setViewValue('12345678901'); myForm.formName.$render();">Populate Invalid Data</button>