Angular 表单内置验证器错误对象键

Angular Form built-in validators error object-keys

我在哪里可以获得 built-in Validators 错误对象键 列表?

例如,如果一个字段使用 required 内置验证器,那么我可以检查:

form.get('myField').hasError('required')

但并非所有错误对象键都与验证器同名。

例如,如果我使用 maxLength 验证器,则以下 不会 工作:

form.get('myField').hasError('maxLength')

可以直接查看源代码来检查这些值:

https://github.com/angular/angular/blob/master/packages/forms/src/validators.ts


在我的特定情况下,maxLength 验证器的对象键错误是 maxlength(小写 L)。

我通过查看它在源代码中的实现弄明白了,目前:

  static maxLength(maxLength: number): ValidatorFn {
    return (control: AbstractControl): ValidationErrors | null => {
      const length: number = control.value ? control.value.length : 0;
      return length > maxLength ?
          {'maxlength': {'requiredLength': maxLength, 'actualLength': length}} :
          null;
    };
  }

所以我正在使用:

form.get('myField').hasError('maxlength')