【发布时间】:2018-04-19 17:51:39
【问题描述】:
在模板驱动的表单中,我有两个输入。 第二个来自 ng-template。
<form #testForm="ngForm">
First name <input type="text" name="firstName" [(ngModel)]="firstName" required> (required)
<br>
<ng-container *ngTemplateOutlet="inputTemplate"></ng-container>
</form>
输入模板如下所示:
<ng-template #inputTemplate>
Last name <input type="text" name="lastName" [(ngModel)]="lastName" required> (required)
</ng-template>
两个输入都具有“必需”属性,但尽管第二个输入为空,但表单仍然有效。
有没有办法确保来自模板的输入被表单识别?
演示:Plunker
编辑:在我的实际应用程序中,ng-template 来自另一个(第 3 方)组件并使用模板引用加载,请参阅 this Plunker。
我只找到了一些关于父子组件问题的解决方案,但这些在这种情况下并不实用。
【问题讨论】:
-
谢谢,但这两个选项在我的实际应用程序中都不起作用,其中
来自另一个(第 3 方)组件。但是,在同一个组件中它工作正常。好像我在我的问题中过度简化了这个例子。添加了附加信息。谢谢。 -
第二个选项应该适合你
-
无法正常工作。向包含表单的组件添加了 viewProviders。输入仍然被添加而不被添加到表单中。你有来自另一个组件的 ng-template 的工作示例吗?
-
ng-template comes from another (3rd party)能不能说一下什么是第三方库?
标签: angular typescript angular-forms