当我使用角度形式验证时,它会在角度控制器中给出未定义的错误。
我的HTML视图
Index.xhtml(主视图)
<div>
<select ng-model="val">
<option value="A"></option>
<option value="B"></option>
<option value="C"></option>
</select>
<div ng-if="item.value=='A'">
@Html.Partial("A")
</div>
<div ng-if="item.value=='B'">
@Html.Partial("B")
</div>
<div ng-if="item.value=='C'">
@Html.Partial("A")
</div>
</div>
A.chtml(局部视图)
<div>
<form name="formA" ng-submit="A();">
<div ng-model="model1" required>
</div>
<input type="submit" value="Add"/>
</form>
</div>
B.chtml(局部视图)
<div>
<form name="formC" ng-submit="B();">
<div ng-model="model2" required>
</div>
<input type="submit" value="Add"/>
</form>
</div>
JS档案
$scope.A = function(){
if($scope.formA.$valid){
}
};
首先,我在主视图下拉列表中选择值A,然后插入数据并单击“添加”按钮。然后它将检查表单验证。如果验证为真,则功能成功。 但, 之后我选择值C i下拉并尝试添加插入值,角度控制器无法识别表单名称。它给出了未定义的错误。
如果在选择A后选择B值,则功能执行无误。我试着在设置
之后 $scope.formA.$setPristine();
$scope.formA.$setUntouched();
但它对这个错误没有任何影响。
任何人都可以帮助我吗? 关于内部功能的任何解释?
答案 0 :(得分:0)
你必须在formA上加上$ scope前缀,这很可能是问题