angular - Angular Validators.pattern 密码
问题描述
嗨,我正在学习 Angular 8 表单验证器,我可能知道如何使用 Angular 验证器来强制用户满足所有这些要求。- 至少 1 个 AZ - 至少 1 个 az - 至少 1 个 0-9 - 至少 1 个特殊字符
这是我尝试过的代码,但不知道为什么。
表单组代码:
newPassword: ['', [Validators.required, Validators.minLength(8), Validators.maxLength(50)], Validators.pattern((/?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&].{8,}/)],
html代码:
<input type="password" class="form-control" id="newPassword" name="newPassword"
placeholder="{{'global.form.newpassword.placeholder' | translate}}"
formControlName="newPassword">
<small class="form-text text-danger"
*ngIf="passwordForm.get('newPassword')?.errors?.pattern">
Must have alphanumeric and specia character.
</small>
抱歉,这可能是一个愚蠢的问题,但真的不知道如何解决。感谢您的时间和精力
解决方案
看起来您没有使用正确的签名。AFormGroup
是许多 的对象FormControl
。在这里,FormControl
应该有值和验证器作为它的第一个和第二个参数。
myFormGroup = {
newPassword: new FormControl(
'',
[
Validators.required,
Validators.minLength(8),
Validators.maxLength(50),
Validators.pattern(/\d+/)
]
)
};
形成您的代码,Validators.pattern
当AsyncValidatorFn
它是ValidatorFn
.
推荐阅读
- list - 我正在尝试创建自己的(elem)函数
- nginx - nginx后面的wildfly,servlet部署正常但无法访问
- python - 无法使用 python 套接字模块访问网页。怎么了?
- apache-spark - 对具有相同列名的两个 spark 数据帧进行内部连接,结果为空
- wordpress - 从过滤器中搜索数据
- reactjs - 反应原生状态更新
- selenium - 抓取数据时无法遍历多个页面
- git - 如何获取 git:// 项目而不是 https:// 项目:http://git.infradead.org/mtd-utils.git
- selenium - 没有 Selenium 的登录和刮擦
- xpath - XPath 组根据子值对子项进行排序