AngularJS ngModelOptions updateOn'remit'validifyOn'default'

时间:2015-09-25 09:49:31

标签: angularjs validation angularjs-model

使用ngModelOptions时,有什么方法可以触发验证吗?我的用例是有一个表单,其中所有字段都在提交时更新ngModel(由于我想在用户点击“取消”按钮时还原整个表单)。有了这个,我无法立即验证我的字段。只有当模型更新时才会在字段上验证字段onSubmit。是否有任何构建解决方案或我应该使用我的自定义实现?

<form name="editForm" ng-submit="edit()">
  <input type="text" name="text" required maxlength="140" ng-model="myObject.text"
         ng-model-options="{ updateOn: 'submit' }" />

  <button type="submit" ng-disabled="editForm.$invalid">
    Save
  </button>
</form>

1 个答案:

答案 0 :(得分:0)

我通常做的是在js代码上提交表单的视图值,如果表单无效,则不要提交。因此,在HTML中我添加了一个点击属性,如:

<button on-click="edit(editForm)">

然后在javascript上

 edit = function(editForm) {
   editForm.$commitViewValue;
   if (editForm.$valid) { // submit code }
 }