Validation 动态创建表单的验证(AngularJS)
我尝试使用验证创建嵌套表单。所有这些都可以正常工作,但当我删除其中一个嵌套表单时,验证将继续使用删除的表单。我做了一个JSFIDLE示例 当示例运行时,表单是有效的。如果单击“+”按钮,则将添加嵌套表单,并且“有效”将为false。然后点击“-”按钮,valid仍然为false 问题是:如何从验证处理中删除动态创建的表单 其次,您不应该从控制器内部进行DOM操作。控制器用于“业务”逻辑 对于您正在做的事情,您可能最好使用一个表单,其中包含一个ng repeat,并向数组中添加其他元素:Validation 动态创建表单的验证(AngularJS),validation,angularjs,Validation,Angularjs,我尝试使用验证创建嵌套表单。所有这些都可以正常工作,但当我删除其中一个嵌套表单时,验证将继续使用删除的表单。我做了一个JSFIDLE示例 当示例运行时,表单是有效的。如果单击“+”按钮,则将添加嵌套表单,并且“有效”将为false。然后点击“-”按钮,valid仍然为false 问题是:如何从验证处理中删除动态创建的表单 其次,您不应该从控制器内部进行DOM操作。控制器用于“业务”逻辑 对于您正在做的事情,您可能最好使用一个表单,其中包含一个ng repeat,并向数组中添加其他元素: <
<form name="myForm" ng-controller="FormCtrl" ng-submit="doSomething()">
<div ng-repeat="item in items">
<input ng-model="item" type="text" required/>
</div>
<a ng-click="addItem()">+</a>
<a ng-click="removeItem()">-</a>
<button type="submit">Submit</button>
<div>Form valid: {{myForm.$valid}}</div>
</form>
这只是一个例子。在现实世界中,我有一个大规模的应用程序。通过ng重复在表单中添加表单。我必须把我的表格移到主表格的外面。现在我有了一个很好的逻辑,比如移动平台上的视图堆栈。所有这些都是因为必须编辑主项中包含的项(编辑FK链接行)。
function FormCtrl($scope) {
$scope.items = [];
$scope.addItem = function() {
$scope.items.push(null);
};
$scope.removeItem = function() {
$scope.items.pop();
};
$scope.doSomething = function () {
//your submission stuff goes here.
};
}