4

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

$scope.formName.$valid

问题是当我将表单动态添加到页面时(基于模型属性),$scope.newFormName 属性没有添加到范围中。

这个plnkr说明了问题

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

有什么办法可以使这项工作?如何检查此动态添加的表单的有效性?

4

2 回答 2

2

因此,您的代码添加了相同表单的列表。你想看看这个列表是否有效。

ngForm解决方案是在父表单中使用s。请参阅此Plunkr(我的修改版)

  • 表单输入值绑定到数组中的对象,该$scope.dynamicData数组也用于ngRepeat创建表单列表。
  • 无效字段以红色实线边框显示,无效表单以红色虚线边框显示。

当表单像这样嵌套时,当父表单的任何子表单无效时,父表单也是无效的。

于 2013-11-21T20:02:02.797 回答
0

我会用angular.element(). 我个人也会通过 ID 而不是名字来获取它,但这只是我。查看这个 plunker 看看我做了什么:http: //plnkr.co/edit/b87HJt

我使用angular.element()通过名称获取元素,getElementsByName然后使用$attr指令获取名称。

于 2013-09-19T22:37:07.090 回答