能否从FormControl中获取minlength值?

10

我正在进行表单验证。

我的问题是,我是否可以获得我在创建formControl时传递的最小长度值?

我找不到任何相关信息。

这是我的组件,我想获取最小长度值并将其传递给信息。现在我需要通过@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>

我想用类似于formControl.validators.minlength.value的东西来替换{{maxLength}}。

1个回答

16

是的,你可以访问长度的数量,包括maxlength和minlength。你可以在error对象内找到它,在.maxlength.requiredLengthminlength.requiredLength下。还有一个带有actualLength的字段,但似乎你不需要它,但有时候可能会需要! :)

<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>

演示


4
如果我想在提示中显示像10/100这样的值,该怎么办?唯一的方法是等到出现错误吗? - Eugen Kotov
或者,如果你想跳过可能为空的错误,也可以使用{{formControl.errors?.['minlength'].requiredLength}}。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接