angular - 如何在 Angular Validators 中更改 required 的验证消息
问题描述
有没有办法在 Angular 中更改 FormBuilder 的验证消息?我在下面有这段代码,只要输入字段留空,就会给出“红色”字“错误”。验证器有效,但我只想将其更改为更有意义的内容,例如“此字段是必需的”。
<form [formGroup]="subscriptionForm">
<h3 style="color: gray; text-align: center;">Registration</h3>
<div class="row">
<div class="col-md-6">
<div class="md-form">
<i class="fa fa-user prefix grey-text"></i>
<input type="text" formControlName="UserName" id="UserName" class="form-control" mdbInputDirective>
<label for="UserName">Your UserName</label>
<div *ngIf="subscriptionForm.get('UserName').hasError('required')">
This field is required!
</div>
</div>
<br>
<div class="md-form">
<i class="fa fa-user prefix grey-text"></i>
<input type="text" formControlName="FirstName" id="FirstName" class="form-control" mdbInputDirective>
<label for="FirstName">Your First name</label>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<button class="btn btn-indigo btn-lg btn-block waves-light" type="button" (click)="onSubmit()" [disabled]="!subscriptionForm.valid" mdbWavesEffect>Send
<i class="fa fa-paper-plane-o ml-1"></i>
</button>
</div>
</div>
</form>
constructor(private fb: FormBuilder) { }
ngOnInit() {
this.subscriptionForm = this.fb.group({
UserName: [null, Validators.required],
FirstName: [null, Validators.required]
});
}
如果您注意到我尝试创建一个 *ngIf 但不知何故,它不起作用。但是,如果我不必创建这个 *ngIf,我会更喜欢它,但如果真的没有办法做到这一点,那么 *ngIf 就可以了。你能帮我解决这个问题吗?谢谢你。
解决方案
使用此代码
<div *ngIf="subscriptionForm.get('UserName').errors.required">
This field is required!
</div>
推荐阅读
- python - AttributeError:“系列”对象在 Dask 中没有属性“列”
- java - 使用 UnicodeBlock 打印国际象棋符号?
- pandas - 我可以使用 pandas.ExcelFile 读取特定的单元格值吗?
- java - 组合两个具有不同返回类型的 CompletableFuture 的结果
- sql - 基于双字段标准的当前行余额
- video.js - 无法在 Chrome Android 上加载 Cast Sender 框架
- awk - 如果列中的值与单独列表中的值匹配,则删除行
- oracle-adf - 两个日期之间的oracle adf差异
- google-apps-script - 如何在数据中查找值,然后在 Google Apps 脚本中删除找到的列?
- javascript - 如何使用具有“位置:固定”元素的片段中的代码?我不能让它留在我的的身高(父母)