Angular 允许md error显示错误消息,即使控件未被触动

Angular 允许md error显示错误消息,即使控件未被触动,angular,angular-material2,Angular,Angular Material2,随着的发布,出现了用于显示错误消息的新的md error指令()。 然而,md error似乎仅在触摸控件时显示错误消息和无效。这可能是一个很好的默认设置,但在某些情况下,我希望能够在显示错误时进行自定义。我可以自定义在什么情况下显示错误消息吗 在下面的文档中,他们提到 通过将name控件的属性绑定到message元素的hidden属性,可以控制name错误消息的可见性 并解释一个有效的选择可以是:[hidden]=“name.valid | | name.pristine”(不依赖于触摸的)。

随着的发布,出现了用于显示错误消息的新的
md error
指令()。 然而,
md error
似乎仅在触摸控件时显示错误消息和
无效
。这可能是一个很好的默认设置,但在某些情况下,我希望能够在显示错误时进行自定义。我可以自定义在什么情况下显示错误消息吗

在下面的文档中,他们提到

通过将name控件的属性绑定到message元素的hidden属性,可以控制name错误消息的可见性

并解释一个有效的选择可以是:
[hidden]=“name.valid | | name.pristine”
(不依赖于
触摸的
)。我想完成同样的事情,但使用的是材料而不是文档中使用的Boostrap

请参阅my,以获取我有两个输入控件的实时示例。每个字符至少需要2个字符。我希望在用户键入第一个字符后直接显示错误。第一个输入控件使用
md error
,但我无法获得所需的行为。 第二个输入控件使用
md-hint
和更老的解决方法,其中可以通过使用
*ngIf
来实现这一点:

<md-hint *ngIf="fc2.dirty && fc2.invalid">
  Name must be at least 2 characters.
</md-hint>

名称必须至少包含2个字符。

否,无法自定义md错误何时可见。因此,我将此作为一份报告提交

如果您想要更改的只是当控件变脏时应直接显示错误,@HopScotch47在GitHub上提供了一个很好的解决方案,将控件设置为在构造函数中触碰的控件:

const ctrl = this.form.controls['ctrlName'];
ctrl.markAsTouched();

不,无法自定义md错误何时可见。因此,我将此作为一份报告提交

如果您想要更改的只是当控件变脏时应直接显示错误,@HopScotch47在GitHub上提供了一个很好的解决方案,将控件设置为在构造函数中触碰的控件:

const ctrl = this.form.controls['ctrlName'];
ctrl.markAsTouched();