Как выполнить условную валидацию в html угловой форме

У меня есть форма, где я хочу реализовать проверку MAXLENGTH, только если значение не равно 0.

Так что если parameter.valueMaxlength === 0 { then dont execute maxlength validation }Есть ли способ написать эту логику в HTML- файл.

 <mat-form-field *ngSwitchCase="'TEXTBOX'" class="example-full-width">
  <input
    matInput
    [placeholder]="parameter.displayName"
    [formControlName]="parameter.id"
    [id]="parameter.id"
    [type]="parameter.dataType"
    [maxlength] = "parameter.valueMaxlength"

  />
</mat-form-field>

1 ответ

Решение

Попробуйте следующее, используя троичный оператор с [attr.maxlength]:

<input
    matInput
    [placeholder]="parameter.displayName"
    [formControlName]="parameter.id"
    [id]="parameter.id"
    [type]="parameter.dataType"
    [attr.maxlength]="parameter.valueMaxlength === 0 ? null : parameter.valueMaxlength" 
/>

maxLength не будет отображаться, если то, что передано, равно 0в противном случае он будет отображаться со значением, равным тому, что было передано.

Вот пример в действии.

Надеюсь, это поможет!

Другие вопросы по тегам