首页 > 解决方案 > 具有模板驱动表单的自定义组件中的必填字段不会将表单标记为无效

问题描述

我正在使用template driven form.angular 7

我创建了一个自定义组件。

自定义组件具有required指令。

当值为空/null 时,mat-error正确显示,但包含它的父表单未标记为无效。

我添加了一个简单的示例来显示此行为 所需的自定义组件

任何想法?

标签: angularangular-material

解决方案


经过调查,我了解到requierd自定义组件中的处理会处理显示验证错误,

为了在错误的情况下将表单标记为无效,requierd还需要在自定义组件中添加指令使用。

<app-radio-button-list name="examinationTypeCtrl" 
                        [(ngModel)]="id"
                        #rd="ngModel"
                        required>
</app-radio-button-list>

固定示例

我找到了这个链接,它完美地解释了带有 ControlValueAccessor 实现的自定义组件。


推荐阅读