我在哪里可以获得内置验证器的错误对象键列表?
例如,如果一个字段使用required
内置验证器,那么我可以检查:
form.get('myField').hasError('required')
但并非所有错误对象键都与验证器具有相同的名称。
例如,如果我使用maxLength
验证器,则以下内容将不起作用:
form.get('myField').hasError('maxLength')
我在哪里可以获得内置验证器的错误对象键列表?
例如,如果一个字段使用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')