Сохраняйте отображение ошибки и подсказки, если ошибка - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть этот код:

<mat-form-field>
    <mat-label>{{'label.name' | translate }}</mat-label>
        <input
            matInput
            [maxLength]="256"
            type="text"
            formControlName="name"
            [placeholder]="'label.name'| translate"
            [ngClass]="{'is-invalid': form.controls.name.errors }"
            autocomplete="off"
        />

        <mat-hint align="end">{{ form.controls.name?.value | inputLimit }}</mat-hint>
        <mat-error>{{form.controls.name.errors | translate}}</mat-error>
</mat-form-field>

Работает просто отлично, проблема в том, что если у меня есть ошибка на входе, например: Field is empty отображается сообщение об ошибке, но мат подсказка скрыта. Если ошибок нет, отображается подсказка. В чем может быть причина? Спасибо заранее.

Ответы [ 3 ]

0 голосов
/ 12 февраля 2020

Я решаю это другим способом:

<mat-hint align="end">{{ form.controls.name?.value | inputLimit }}</mat-hint>
<mat-error>
   {{form.controls.name.errors | translateFormError | translate}}
   <mat-hint align="end" class="float-right">{{ form.controls.name?.value | inputLimit }}</mat-hint>
</mat-error>
0 голосов
/ 12 февраля 2020

Это функциональность подсказки материала, которую он показывает в подчеркивании поля формы мата, а также ошибка мата также отображается в одном и том же месте, поэтому оба перезаписывают друг друга

. согласно вашему требованию вы должны оставить подсказку за пределами mat-form-field с условием.

Спасибо.

0 голосов
/ 12 февраля 2020

Это потому, что вы используете троичный оператор в подсказке по мату, а ошибка дает ложное значение в вашем троичном операторе, пытаясь удалить троичный

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...