[英]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.