Allow mat-error in mat-form-field subviews #15778
Labels
area: material/form-field
P3
An issue that is relevant to core functions, but does not impede progress. Important, but not urgent
What is the expected behavior?
NOTE: it's more of an improvement (but a really critical one) than a bug.
mat-error
should work even if it's not used as direct child ofmat-form-field
. It should work if it's used inside a component which itself is used inmat-form-field
.This is particularly necessary for handling error messages in a reusable component.
A real-world application may have several forms with a lot of validators on their fields.
Repeating a bunch of
mat-error
s and corresponding error messages for each usecase is just tedious.Suggested solution
I think the reason this currently doesn't work is because
@ContentChildren
decorator is used to get a hold ofmat-error
instances. However@ContentChildren
doesn't work for nested components and aparently this is by design.Instead of using
@ContentChildren
,MatError
can injectMatFormField
and register itself into it.What is the current behavior?
mat-error
only works if it's directly used insidemat-form-field
. If it's used inside a nested component, it doesn't work as expected.What are the steps to reproduce?
https://stackblitz.com/angular/kllvoljyoem
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
@angular/cdk@7.3.0
@angular/material@7.3.0
Angular: 7.2.3
Is there anything else we should know?
The text was updated successfully, but these errors were encountered: