我是角度6的新手,在这里我想验证用户输入字段并根据给定的输入显示不同的错误消息 .
在我的项目中,我使用Angular Material设计UI .
我想做的是
-
如果用户单击保存按钮,则会显示错误消息 "Please enter your FName".
-
如果用户触摸但没有输入任何内容并单击保存按钮会显示错误消息 "Please enter your FName".
-
如果用户开始输入char,则应显示错误消息 "minimum 4 char required"
-
一旦用户达到15个字符,它应该显示一条错误消息 "Maximum 20 char only"
-
如果用户输入任何特殊的字符和空格,并输入其他错误信息,请输入 "Enter only alphabets"
现在,当输入不符合成功验证时,它会变为RED颜色 . 但我想在formControl中为每个验证显示错误消息 .
这里我有一个mat-input-field .
<form [formGroup]="userAddressValidations" novalidate>
<mat-form-field appearance="outline" class="col-sm-6">
<mat-label>First Name</mat-label>
<input matInput formControlName="firstName">
</mat-form-field>
</form>
<button mat-raised-button class="continueBtnHeight" color="warn">
<span>Save</span>
</button>
Ts文件
export class ButtonToggleOverviewExample {
userAddressValidations: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.userAddressValidations = this.formBuilder.group({
firstName: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(20), Validators.pattern('[a-zA-Z]+')]]
});
}
}
stackblitz:https://stackblitz.com/edit/angular-t1k1x6-skowwq?file=app%2Fbutton-toggle-overview-example.ts
任何人都可以帮我解决这个问题 .
3 回答
试试这个:
这是你的参考Sample StackBlitz .
如果用户输入任何特殊字符和空格,请使用
hasError('invalidName')
Stackblitz
看一下这个教程https://codecraft.tv/courses/angular/forms/model-driven-validation,你也可以参考这个stackoverflow问题:Display custom validator error with mat-error
但这是一个小例子: