角度自定义验证器不返回错误代码

时间:2019-01-27 17:58:32

标签: angular customvalidator

大家好,我已经为表单创建了自定义验证程序,并且可以正常工作-按预期检测错误,但是当它确实检测到该错误时,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中的构建进行验证的输入有效,但仍然没有给出错误。

0 个答案:

没有答案