是否可以在表单中包装自定义指令并让Angular评估其有效性?

时间:2016-03-15 15:44:48

标签: angularjs

在我的应用程序中,有一个带有选项卡集的屏幕,其中每个选项卡都使用指令进行渲染,并且在某些选项卡之间使用ng-form进行表单拆分。单击一个按钮时,我会检查是否有任何子表单有效:

function checkFormValidity(form) { //Form is an Angular form object
      var subForms = getSubForms(); //Get an array with the names of the sub forms
      for(var i = 0; i < subForms.length; i++) {
        var subform = subForms[i];
        if(form[subform].$invalid) {
          //Flash error messages
        }
     }
}

到目前为止,子表单中的唯一限制是一些必填字段,并且使用ng-required属性Angular负责将每个子表单设置为有效或不有效。简单!

现在我必须添加一个新限制才能执行操作。但是,它与用户在UX中的输入无关,而与对象数组中对象的状态无关。

在其中一个标签中,我已经显示了该对象集合,因此可以访问其状态以执行检查。所以我想知道我是否可以这样做:

<div ng-form="newSubForm">
    <list-items><list-items>
 </div>

根据我需要执行的自定义检查,Angular设置newSubForm是否有效。所以类似于输入字段所需的ng。

我想避免手动触发自定义检查,因此我不会触及checkFormValidity方法。在for循环之后运行自定义检查看起来很难看。

感谢您的帮助

0 个答案:

没有答案