【发布时间】:2022-12-06 21:03:39
【问题描述】:
我有一个嵌套的表单控件,它在大约 3 个 *ngFor 循环中构建页面结构。下面的例子是最终循环:
<ng-container *ngFor="let data of tabsAndPills[tab][pill]; let i = index">
...
<input [required]="data['isMandatory']" type="text" [formControlName]="data['name']" />
这些循环构建了我的表单控件,因此我无法对任何验证消息进行硬编码。我想在每个控件下添加一些文本来表示“必需” - 当控件为空时(如果删除 stackblitz demo 中的姓氏字段值,整个表单将变得无效,这是正确的,但我想挂钩该特定控件以启用以下文本)。例如
<div *ngIf="data['name'].invalid">{{ data['displayName'] }} is required</div>
我需要在我的表单中寻找 [formControlName]="data['name']" 的动态控件,因此查看它是否无效或不显示文本。我想我需要做一些像这个模板方面的事情......
*ngIf="form.controls.fields['controls'].tab['controls'].pill['controls'].data['name'].invalid"
但是做不对,tab和pill的循环let在上述格式中无法识别。或者,有没有一种方法可以使用 getter 来简化此操作?
【问题讨论】:
标签: angular forms validation angular-reactive-forms