Bootstrap 在ngbAccordion中验证表单控件

hk8txs48  于 11个月前  发布在  Bootstrap
关注(0)|答案(1)|浏览(179)

在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”函数的面板上重新加载,并以某种方式从那里访问字段,但我不知道如何进行

p8h8hvxi

p8h8hvxi1#

默认情况下,ngb-accordion会销毁隐藏面板的DOM,这就是隐藏面板中的字段不被验证的原因。使用ngb-accordion组件中的[destroyOnHide]="false"可以避免销毁隐藏面板上的DOM

相关问题