使用角材料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>
所以基本上我想像常规材料输入(或多或少)一样使用这个自定义组件,除了它默认带有服务器验证错误。谁能在这里给我一些指导-谢谢。:)