我有一张表格。
<form class="form-horizontal" name="canForm" ng-submit="stepSubmit()" novalidate>
如上所述,它被称为“canForm”。
在这种形式中..我需要一个子表单来重复需求块。
我定义了这个表单
<div ng-form="licencesForm">
在上面的“canForm”中。
当我为重复块提交licencesForm
时,我确保在控制器中设置form.$setPristine()
。
但是,当我提交主canForm
时,此表单会选择子表单中的required
字段,并说主表单无效。
我无法理解这一点。 ng-form指令应该是一个独立的范围,父表单不应该接受这个子表单中字段的验证要求吗?
如果子表单有效,主表单也应该有效吗?
请参阅http://plnkr.co/edit/gkbJNAV95MQ9SGLeMvlg?p=preview
当你在子表单中添加一些东西时,它将表单设置为$ setPristine()并且子表单有效但单击提交主表单表示即使子表单有效,表单也无效?
答案 0 :(得分:7)
如果有父表单和子表单,那么只有当所有子表单都有效时,父表单才有效。
<form class="form-horizontal" name="canForm" ng-submit="stepSubmit()" novalidate>
并且有一个子表单
<div ng-form="licencesForm">
然后canForm只有在所有licensecesForm有效时才有效。