在Angular中,我有一个ngForm,里面有一些输入,但我也有一个ngbAccordion,里面有多个输入字段在不同的面板中。当提交表单时,唯一被验证的输入是在Accordion外部的输入和在展开的Accordion面板中的输入(如果有任何面板展开的话)。我希望所有的字段都被验证,包括折叠的Accordion面板中的字段
我的HTML看起来像这样:
<form #MyForm="ngForm">
<div>...some input field</div>
<div>...some other input field</div>
<ngb-accordion #accordion>
<ngb-panel id="1">
<ng-template ngbPanelTitle> title1 </ng-template>
<ng-template ngbPanelContent>
<div>...some input field</div>
<div>...some other input field</div>
</ng-template>
</ngb-panel>
...more panels with nested input fields
</ngb-accordion>
</form>
字符串
但是在执行MyForm.valid的组件中,只考虑两个“外部”字段和当前展开的accordion面板中的字段
我一直在尝试在我的“formValid”函数的面板上重新加载,并以某种方式从那里访问字段,但我不知道如何进行
1条答案
按热度按时间p8h8hvxi1#
默认情况下,
ngb-accordion
会销毁隐藏面板的DOM,这就是隐藏面板中的字段不被验证的原因。使用ngb-accordion
组件中的[destroyOnHide]="false"
可以避免销毁隐藏面板上的DOM