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')
我在哪里可以获得 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')