我在哪里可以获取built-in Validators的错误对象键列表?
例如,如果某个字段使用required
内置验证程序,那么我可以检查:
form.get('myField').hasError('required')
但并非所有错误对象键都与验证器具有相同的名称。
例如,如果我使用maxLength
验证程序,则以下不工作:
form.get('myField').hasError('maxLength')
答案 0 :(得分:0)
可以直接查看源代码来检查这些值:
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')