是否可以从 formcontrol 中获取 minlength 值?

K4m*_*czi 7 forms frontend components typescript angular

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

我还没有找到任何信息。

这是我的愚蠢组件,我想将 minlength 值传递给信息。现在我需要通过@Input() 传递它。

title: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(20)]]
Run Code Online (Sandbox Code Playgroud)

.

<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>
Run Code Online (Sandbox Code Playgroud)

我想用 formControl.validators.minlength.value; 之类的东西替换 {{maxLength}};

AJT*_*T82 9

是的,您可以在 maxlength 和 minlength 中访问长度的数量。您可以在error对象内找到它,它位于.maxlength.requiredLength&&下minlength.requiredLength。还有一个字段 with 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>
Run Code Online (Sandbox Code Playgroud)

演示

  • 如果我想在提示中显示该值(例如 10/100)怎么办?唯一的方法是等到错误发生? (4认同)