大家好,我已经为表单创建了自定义验证程序,并且可以正常工作-按预期检测错误,但是当它确实检测到该错误时,FormGroup对象中的错误为空,但有效设置为false
export function ValidateBody(control: AbstractControl): ValidationErrors {
if (control.value.length < 3) return { tooShort: true };
if (control.value.length > 50) return { tooLong: true };
if (/[^a-zA-Z0-9 \-\/]/.test(control.value)) return { invalidChar: true };
return null;
}
export class FormQuestionComponent {
@Input() question: FormData<any>;
@Input() form: FormGroup;
get isValid() {
if (!this.form.controls[this.question.key].valid)
console.log(this.form.errors);
return this.form.controls[this.question.key].valid;
}
}
我不知道为什么即使表单无效也无法在控制台中获取null。我还尝试过使通过Validators中的构建进行验证的输入有效,但仍然没有给出错误。