работа с угловатыми материалами mat-form-field
и реактивными формами. В проекте у меня есть повторяющийся шаблон, который выглядит так
// ts
this.formGroup = this.formBuilder.group({
name: ['', ServerValidation]
})
<!-- html -->
<div [formGroup]="formGroup">
<mat-form-field>
<input
matInput
formControlName="name"
[placeholder]="'Name'"
name="name"
/>
<mat-error
*ngIf="
formGroup
.get('name')
.hasError('serverValidation')
"
>
{{
formGroup
.get("name")
.getError("serverValidation")
}}
</mat-error>
</mat-form-field>
</div>
Это высокий уровень — принятие того, что я могу получать ошибки проверки с сервера — как я могу повторить этот шаблон шаблона http в компоненте? У меня есть подозрение, что я должен использовать ControlValueAccessor, но не знаю, как это сделать.
Реализация, которую я представляю, может выглядеть примерно так
<!-- html -->
<div [formGroup]="formGroup">
<serverValidatedInput formControlName="'name'">
<mat-error>error message for client side validation</mat-error>
</serverValidatedInput>
</div>
По сути, я хочу использовать этот пользовательский компонент как обычный ввод материала (более или менее), за исключением того, что по умолчанию он сопровождается ошибкой проверки сервера. Может ли кто-нибудь дать мне какое-то направление здесь - спасибо. :)