html - 带有角度的表单验证:如何显示不同无效案例的特定错误?
问题描述
我有一个验证所有输入的表单。例如,“用户名”输入我想首先确保它是必填字段,其次它的长度不小于 2 或大于 10(或适合我使用的另一种模式)。
我想在任一验证失败时显示错误。如果我想为每个案例显示一个特定的错误,我该怎么做?例如:如果输入为空显示'required',如果值错误显示'invalid'。这是我的代码:
零件:
companyNamePattern = "^[a-z0-9_-]{8,15}$";
pwdPattern = "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{6,12}$";
emailPattern = "^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$";
this.addCompForm = fb.group({
'companyName': [null,Validators.compose([Validators.required,Validators.minLength(5),Validators.maxLength(20)])],
'companyPassword': [null,Validators.compose([Validators.required,Validators.minLength(5),Validators.maxLength(20)])],
'companyEmail': [null,Validators.compose([Validators.required,Validators.email])]
})
html:
<form [formGroup] ="addCompForm" (ngSubmit) = "addCompany(addCompForm.value)">
<p>Enter the company name:</p>
<input type="text" formControlName="companyName" >
<div class="alert" *ngIf="!addCompForm.controls['companyName'].valid && addCompForm.controls['companyName'].touched" >{{nameAlert}}</div>
<p>Enter the company password:</p>
<input type="text" formControlName="companyPassword">
<div class="alert" *ngIf="!addCompForm.controls['companyPassword'].valid && addCompForm.controls['companyPassword'].touched " >{{passAlert}}</div>
<p>Enter the company email:</p>
<input type="text" formControlName="companyEmail">
<div class="alert" *ngIf="!addCompForm.controls['companyEmail'].valid && addCompForm.controls['companyEmail'].touched " >{{emailAlert}}</div>
<br>
<br>
<div class="btn-container">
<button type="submit" [disabled]="!addCompForm.valid">
<i class="material-icons">done</i>
</button>
</div>
</form>
解决方案
*ngIf="addCompForm.get('companyName').hasError('required')
添加这个以使必填字段和
*ngIf="addCompForm.get('companyName').hasError('minLength')
添加这个以制作 minLength 并与 max length .hasErro('maxlength') 相同
推荐阅读
- sql - LAG SQL 操作在 Amazon Redshift 中不起作用
- linux - 两台主机之间的隧道 Gre 问题(vps 和专用服务器)
- javascript - 在 three.js 中创建锯齿形结构?
- mysql - 为什么我的 Node.Js 代码在从用户那里获取价值时没有在第一个请求中给出响应?
- java - 如何提高加载显示超过 35 个查询检索到的计数的网页的性能
- android - 自动缩放
- android - startactivity后的接口回调
- javascript - 无法读取未定义组件的属性“nativeElement”
- c++ - 编译器可以优化不相关的命令以使用不同的内核执行吗?
- post - 你可以点击一个 URL 并做一个大的跨域 POST 请求吗?