Angular 角度=>;HASRERROR未使用mat select显示mat表单字段的错误
我在mat表单字段中遇到了hasError问题。这是我的密码Angular 角度=>;HASRERROR未使用mat select显示mat表单字段的错误,angular,angular-material,Angular,Angular Material,我在mat表单字段中遇到了hasError问题。这是我的密码 <mat-form-field class="mat-form-field-design"> <mat-label>{{ 'SETTINGS.NOTIFICATION.DAYS_SEND_LABEL' | translate }}</mat-label> <mat-select formControlName="daysSend" multiple require
<mat-form-field class="mat-form-field-design">
<mat-label>{{
'SETTINGS.NOTIFICATION.DAYS_SEND_LABEL' | translate
}}</mat-label>
<mat-select formControlName="daysSend" multiple required>
<mat-option *ngFor="let currentDays of days" [value]="currentDays">
{{'COMMON.DAYS.' + currentDays | translate}}
</mat-option>
</mat-select>
<mat-error *ngIf="hasError(form?.get('hourSend'), 'hoursSend', 'required')">
{{ 'COMMON.ERRORS.DAYS_REQUIRED' | translate }}
</mat-error>
</mat-form-field>
}
(我使用mat form字段指定,但不使用mat select all works fine)示例=>
mat-form-field class="art-form-field-full-width">
<mat-label>{{'SETTINGS.MAIN.APPEARANCE.DASHBOARD_QUOTE_LABEL' | translate}}</mat-label>
<input matInput
[id]="'appearance-dashboard-band-quote' + lang.value"
[placeholder]="'SETTINGS.MAIN.APPEARANCE.DASHBOARD_QUOTE_PLACEHOLDER' | translate"
formControlName="dashboardBandQuote"
required/>
<mat-error *ngIf="hasError(form?.get(lang.value), 'dashboardBandQuote', 'required')">{{
'COMMON.ERRORS.REQUIRED' | translate
}}</mat-error>
</mat-form-field>
mat form field class=“艺术形式字段全宽”>
{{'SETTINGS.MAIN.APPEARANCE.DASHBOARD_QUOTE_LABEL'| translate}
{{
“常见.错误.必填”|翻译
}}
谢谢 而不是:
{{'COMMON.ERRORS.DAYS_REQUIRED'{124; translate}}
您是否应该使用以下参数(注意hasrerror
)的第一个参数
{{'COMMON.ERRORS.DAYS_REQUIRED'{124; translate}}
而不是:
{{'COMMON.ERRORS.DAYS_REQUIRED'{124; translate}}
您是否应该使用以下参数(注意hasrerror
)的第一个参数
{{'COMMON.ERRORS.DAYS_REQUIRED'{124; translate}}
不,正如您在上一个方法中所看到的,我们在第一个参数上传递了特定字段,而不是全部表单,它在任何地方都有效。我刚刚遇到了mat-form-field和mat-select的问题。因此@CharleyPons请提供一个关于@CharleyPons的工作示例,您确定它在其他类似的地方工作吗?我至少可以看到两个错误(我在回答中指出了一个)。另一个是您正在引用hoursend
来验证daysSend
。我很有信心我的答案是正确的。但有可能我弄错了你想要的东西,我把这些放在一起给你看。你可以更容易地指出问题所在。我的错,我已经做了你告诉我的改变,非常感谢!!!不,正如你在上一个方法中看到的那样,我们在第一个参数上传递了特定字段,而不是所有的表单,它在任何地方都有效。我只是对mat-form-field和mat-select有问题。所以@CharleyPons请提供一个@CharleyPons的工作示例,你确定它在其他类似的地方工作吗?我至少可以看到两个错误(我在回答中指出了一个)。另一个是您正在引用hoursend
来验证daysSend
。我很有信心我的答案是正确的。但有可能我弄错了你想要的东西,我把这些放在一起给你看。你可以更容易地指出问题所在。我的错,我已经做了你告诉我的改变,非常感谢!!!
public hasError(form: AbstractControl, fc: string, validator: string) {
if (!form || !fc || !validator || !form.get(fc)) {
return false;
}
return form.get(fc).hasError(validator);
mat-form-field class="art-form-field-full-width">
<mat-label>{{'SETTINGS.MAIN.APPEARANCE.DASHBOARD_QUOTE_LABEL' | translate}}</mat-label>
<input matInput
[id]="'appearance-dashboard-band-quote' + lang.value"
[placeholder]="'SETTINGS.MAIN.APPEARANCE.DASHBOARD_QUOTE_PLACEHOLDER' | translate"
formControlName="dashboardBandQuote"
required/>
<mat-error *ngIf="hasError(form?.get(lang.value), 'dashboardBandQuote', 'required')">{{
'COMMON.ERRORS.REQUIRED' | translate
}}</mat-error>
</mat-form-field>