AngularJS在添加动态元素时进行表单验证

时间:2013-12-19 13:23:31

标签: javascript jquery validation angularjs

我有一张AngularJS验证表格 问题是我使用Jquery将输入元素添加到此表单中,而AngularJS不会将这些元素添加到表单的验证中。
这是一个例子:http://jsfiddle.net/ULEsy/

var input = $compile($('<input type="text" ng-model="textinput" required />'))($scope);
$("#someform").append(input);

在该示例中,即使输入字段无效(空 - 可以通过红色边框看到),整个表单也是有效的。 有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

@Ephi我找到了解决这个问题的方法。 显然,您需要先将元素附加到DOM,然后才使用$ compile。此外,新元素需要一个名称。

请参阅here

angular.module("app", []).controller('someController', function($scope, $compile) {   
    $scope.add = function() {
        var input = $('<input type="text" ng-model="textinput" name="x" required />');
        $("#someform4").append(input);    
        $compile(input)($scope);
    }
});