在Angular中,如果响应式表单不显示内置验证器的错误消息,有以下几种可能的解决方法:
required
验证器来验证一个输入框的必填性,你需要在模板中添加相应的错误消息的显示逻辑。
请输入名字。
getError
方法获取错误消息:在组件中,你可以使用getError
方法来获取表单控件的错误消息。这个方法接受一个参数,即验证器的名称,然后返回相应的错误消息。你可以将这个方法应用到模板中以显示错误消息。
{{ getError('required', form.get('name')) }}
getError(validatorName: string, control: AbstractControl): string {
const validator = control.errors[validatorName];
if (validator) {
return validator.message || '验证错误!';
}
return '';
}
setErrors
方法来手动设置一个表单控件的错误消息。然后,你可以在模板中使用这个自定义的错误消息。this.form.get('name').setErrors({ required: { message: '请输入名字。' } });
{{ form.get('name').errors.required.message }}
这些解决方法可以帮助你在Angular中正确显示响应式表单的内置验证器错误消息。