检查angularjs控制器的$scope上动态添加的表单的有效性

要在我的页面中检查表单的有效性,我在控制器的范围内测试此属性:

$scope.formName.$valid

问题是,当我向页面动态添加表单时(基于模型属性),$scope.newFormName属性不会添加到作用域.

This plnkr illustrate the problem

>单击“添加表单”按钮将表单添加到页面
>单击“搜索表单”以使用$scope中找到的表单更新列表
>请注意,在范围中找不到添加的表单

有没有办法让这项工作?如何检查此动态添加表单的有效性?

最佳答案 因此,您的代码会添加相同表单的列表.并且您想要查看此列表是否有效.

解决方案是在父表单中使用ngForms.见这Plunkr (my modified version of yours).

>表单输入值绑定到$scope.dynamicData数组中的对象,ngRepeat也使用该数组创建表单列表.
>无效字段显示为红色边框,无效表单带有红色虚线边框.

当表单嵌套时,如果父表单的任何子表单无效,则表单无效.

点赞