簡體   English   中英

Angular Form內置驗證器錯誤對象鍵

[英]Angular Form built-in validators error object-keys

在哪里可以獲得內置驗證器錯誤對象鍵列表?

例如,如果一個字段使用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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM