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