首页 > 解决方案 > 是否可以从 formcontrol 获取 minlength 值?

问题描述

所以我有我的表单验证。我的问题是我可以得到例如我在创建 formControl 时传递的 minlength 值吗?

我还没有找到任何信息。

这是我的愚蠢组件,我想获得 minlength 值以传递给信息。现在我需要通过@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}};

标签: angularformstypescriptcomponentsfrontend

解决方案


是的,您可以访问长度的数量,包括 maxlength 和 minlength。您可以在error对象内找到它,它位于.maxlength.requiredLength&&下minlength.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>

演示


推荐阅读