Angular中错误消息未显示在UI上
创始人
2024-10-31 01:30:41
0
  1. 确认错误消息已经被添加到表单控件中的错误数组中。
  2. 确保在UI中对应的错误消息指令已经添加。
  3. 确认表单控件上添加了对应的错误消息指令。
  4. 确认表单控件绑定的ngModel或formControl中已经包含了Validators。
  5. 确认表单控件绑定的ngModel或formControl中设置了错误消息。

示例:

在模板中添加错误消息指令:

Username is required.

在指令中显示错误消息:

import { Directive, HostBinding, HostListener } from '@angular/core';

@Directive({ selector: '[appErrorMessage]' }) export class ErrorMessageDirective { @HostBinding('class.error-message') hasErrorMessage = true;

constructor() { }

@HostListener('input', ['$event.target']) onInput(target: HTMLInputElement) { const control = target.validity;

if (control.valid) {
  this.hasErrorMessage = false;
} else {
  this.hasErrorMessage = true;
}

} }

在ngModel或FormControl中设置错误消息:

ngOnInit() { this.myForm = new FormGroup({ name: new FormControl('', [ Validators.required, Validators.minLength(4) ]), email: new FormControl('', [ Validators.required, Validators.pattern('[^ @]@[^ @]') ]) }); }

get name() { return this.myForm.get('name'); }

get email() { return this.myForm.get('email'); }

getErrorMessage(control: AbstractControl) { return control.hasError('required') ? 'You must enter a value' : control.hasError('email') ? 'Not a valid email' : control.hasError('minlength') ? Must be at least ${control.errors.minlength.requiredLength} characters : ''; }

相关内容

热门资讯

透视资料!哈糖大菠萝开挂(透视... 透视资料!哈糖大菠萝开挂(透视)哈糖大菠萝免费辅助器(辅助)其实是真的有教程(哔哩哔哩)暗藏猫腻,小...
透视方针!德州辅助工具到底怎么... 透视方针!德州辅助工具到底怎么样(透视)pokemmo辅助脚本(辅助)原来真的是有工具(哔哩哔哩)1...
透视讲义!pokemmo手机版... 透视讲义!pokemmo手机版修改器(透视)红龙poker辅助工具(辅助)本来有方法(哔哩哔哩)1、...
透视步骤!pokermaste... 透视步骤!pokermaster脚本(透视)拱趴大菠萝万能挂(辅助)好像一直都是有技巧(哔哩哔哩)1...
透视指南书!aa poker辅... 透视指南书!aa poker辅助包(透视)epoker底牌透视(辅助)竟然是真的有工具(哔哩哔哩)1...
透视绝活儿!werplan透视... 透视绝活儿!werplan透视挂(透视)impoker辅助(辅助)确实是真的有脚本(哔哩哔哩)1、每...
透视阶段!聚星ai辅助工具下载... 透视阶段!聚星ai辅助工具下载(透视)智星德州辅助译码插件靠谱吗(辅助)真是一直都是有攻略(哔哩哔哩...
透视模板!来玩app破解版(透... 透视模板!来玩app破解版(透视)pokerworld破解版下载(辅助)原来一直总是有app(哔哩哔...
透视窍要!pokermaste... 透视窍要!pokermaster辅助器(透视)哈糖大菠萝能开挂吗(辅助)都是一直总是有app(哔哩哔...
透视指南!pokermaste... 您好,德州私人局怎么透视这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...