angular - Er det mulig å få minlength-verdi fra formcontrol?


Så jeg har min skjema validering. Og spørsmålet mitt er om jeg for eksempel kan få en minlength-verdi som jeg passerte når jeg opprettet formControl?

Jeg har ikke funnet noen informasjon.

Dette er min dumme komponent, og jeg vil få minlength-verdien for å sende den til informasjon. Nå trenger jeg å sende den via @Input().

title: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(20)]]

.

<div class="validation-window">
  <p *ngIf="errors.required">
    {{field}} required
  </p>
  <p *ngIf="formControl.hasError('minlength')">
      {{field}} at least {{minLegth}} characters
  </p>
  <p *ngIf="formControl.hasError('maxlength')">
      {{field}} at least {{maxLength}} characters
  </p>
</div>

Jeg vil erstatte {{maxLength}} med noe som formControl.validators.minlength.value;

Svar #1

Ja, du kan få tilgang til lengdetallet, både i maxlength og minlength. Du kan finne det inne i error-objektet, der det ligger under .maxlength.requiredLength og minlength.requiredLength. Det finnes også et felt med actualLength, men du ser ikke ut til å trenge det, men hvis du noen ganger gjør det! :)

<p *ngIf="formControl.hasError('maxlength')">
  {{field}} at max {{formControl.errors.maxlength.requiredLength}} characters
</p>

<p *ngIf="formControl.hasError('minlength')">
  {{field}} at least {{formControl.errors.minlength.requiredLength}} characters
</p>

DEMO

Relaterte artikler