angular - 角材料场中未显示垫子错误
问题描述
我想在表格中显示错误。我正在使用角度材料输入:
<mat-form-field appearance="fill" class="phone-num">
<input [placeholder]="'PROFILE.MOBILE_NUMBER' | translate" class="pointer" type="text" matInput
[(ngModel)]="phoneNumber" (keyup)="onPhoneNumberChange()" [readonly]="isReadOnly" id="phoneNumberInput">
<mat-error *ngIf="f.mobileNumber.hasError('validCountryPhone')"
[translate]="'SHARED_VALIDATE.NOT_VALID_PHONENUMBER'"
[translateParams]="{ value: 'PROFILE.MOBILE_NUMBER' | translate }">
</mat-error>
</mat-form-field>
当输入无效时,它不会显示错误,但是当我更改mat-error
它时div
会显示错误。
什么问题?我该如何解决这个问题/???
解决方案
经过一番研究,我发现这篇文章解释说:
我们可以从中了解到,只有当表单域(控件)说它有错误时,它才会使用嵌入来显示 mat-error。
所以我们可以假设 mat-error 需要一个 formControl 来检查 formField 是否有错误。在您的代码中,您需要添加输入:
<mat-form-field appearance="fill" class="phone-num">
<input [placeholder]="'PROFILE.MOBILE_NUMBER' | translate" class="pointer" type="text" matInput
[(ngModel)]="phoneNumber" (keyup)="onPhoneNumberChange()" [readonly]="isReadOnly" id="phoneNumberInput" [formControlName]="mobileNumber">
<mat-error *ngIf="f.mobileNumber.hasError('validCountryPhone')"
[translate]="'SHARED_VALIDATE.NOT_VALID_PHONENUMBER'"
[translateParams]="{ value: 'PROFILE.MOBILE_NUMBER' | translate }">
</mat-error>
</mat-form-field>
假设您的 formControl 的名称是mobileNumber
.
推荐阅读
- java - 从字符串中删除以特殊字符开头和结尾的文本
- sql - Db2 Warehouse MDC 外键关系
- python - 如何在python中的3D数组内绘制2D数组
- android - 运行 gradlew 测试时出现 Robolectric 错误
- ios - iOS - MVP 演示者中的单元测试异步私有函数
- protractor - 将测试规范名称作为浏览器堆栈中的测试名称
- nginx - 接受除 Nginx 中的一个以外的所有子域
- sql - How to find peak and valley in running sequence in sql
- xml - 删除空的 xmlns 属性
- cordite - 通过 Braid 传递 List 对象