angular - Angular6 表单验证
问题描述
我正在使用 angular6 文档执行表单验证,现在我确保所有表单验证都已填写,但现在
这是我的问题:
1.) 如何验证密码和确认密码输入值不少于 6 个字符并且密码字段和确认密码字段必须匹配
2.) 如何确保输入的电子邮件地址有效
<form #r="ngForm" name="theForm" (submit)="reg(r)">
<div class="form-group">
<label>Username</label>
<input type="text"
class="form-control"
name="username"
[(ngModel)]="register.username"
#registerUsername="ngModel"
required
pattern="^[a-zA-Z]+$">
<span class="help-block danger" *ngIf="registerUsername.errors?.required && registerUsername.touched">
The username is required
</span>
<span class="help-block danger" *ngIf="registerUsername.errors?.pattern && registerUsername.touched">
The username can only contain the letters a-z or A-Z
</span>
</div>
<div class="form-group">
<label>Password</label>
<input type="password"
class="form-control"
name="password"
required
[(ngModel)]="register.password"
#registerPassword="ngModel">
<span class="help-block danger" *ngIf="registerPassword.errors?.required && registerPassword.touched">
password is required
</span>
</div>
<div class="form-group">
<label>Confirm Password</label>
<input type="password"
class="form-control"
name="password"
required
[(ngModel)]="register.password"
#registerPassword="ngModel">
<span class="help-block danger" *ngIf="registerPassword.errors?.required && registerPassword.touched">
Re-enter password is required
</span>
</div>
<div class="form-group">
<label>Email</label>
<input type="email"
class="form-control"
name="email"
required
[(ngModel)]="register.email"
#registerEmail="ngModel">
<span class="help-block danger" *ngIf="registerEmail.errors?.required && registerEmail.touched">
Email is required
</span>
</div>
解决方案
我试图实现你所说的要求,下面是链接:
https://stackblitz.com/edit/angular-formvalidation-wins999-z1sxcw
我已使用内置验证器来缩短长度并验证电子邮件
以及用于密码和确认密码匹配的自定义验证器。
这些链接很有用:
https://angular.io/guide/forms-overview
我希望它有帮助
推荐阅读
- ruby-on-rails - Rails 中 Json 数组上的地理编码器方法
- c# - Azure Cosmos DB(EF/Core)-驼峰式属性名称
- r - lapply 不会将数据框列元素逐个传递给自定义函数
- reactjs - 在 React 中将 props 从子类组件传递给父类组件
- android - 改造调用返回 400,cURL 请求工作正常,语法问题
- flutter - setState() 或 markNeedsBuild 在构建期间调用,同时设置 Provider 值
- python - Smartsheet 行未更新
- c++ - 如何从传递给该对象的对象内部访问对象的类属性?
- python-3.x - 读取 RGB 原始输入,转换为 openCV 对象,然后转换为 .JPEG 字节 - 没有 PIL
- kotlin - Kotlin:具有最优值的 maxBy{}