【问题标题】:Angular Form built-in validators error object-keysAngular Form 内置验证器错误对象键
【发布时间】:2017-09-29 17:14:07
【问题描述】:

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

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

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

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

例如,如果我使用maxLength 验证器,那么以下将工作:

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

【问题讨论】:

    标签: angular angular-forms angular-validation


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 2018-06-25
      相关资源
      最近更新 更多