我有一个嵌套的 AngularJS 表单,如下所示:
<form name="parentForm" ng-submit="submit()">
<input name="parentInput" type="text">
<ng-include src="childForm.html" ng-form="childForm"></ng-include>
<button type="submit">Submit</submit>
</form>
这是 childForm.html
<input name="childInput" type="text">
由于与问题无关的原因,我无法合并父表单和子表单 - 它们需要是两个单独的文件。
现在,当用户单击提交按钮时,验证正确地应用于 parentForm 和 childForm。但是,只有父表单的 $submitted 标志设置为 true,这是有问题的,因为我使用它来触发某些错误消息的显示。我不希望子表单检查父表单是否为 $submitted,因为它们是两个单独的文件。我想到的唯一选择是在子表单上调用 submit() 方法 $setSubmitted() ,这很尴尬,因为现在父表单需要直接引用子表单。有没有更好的方法将子表单的 $submitted 设置为 true?