【发布时间】:2018-09-28 19:05:53
【问题描述】:
我正在使用 Angular 6 中的响应式表单,并尝试对密码字段进行一些验证。基本上需要超过8个字符,至少包含1个大写字母,至少包含1个符号。
我测试过的正则表达式是^(?=.*[A-Z])(?=.*[!@#\$%\^&\*])(?=.{9,})
这是我的登录组件 ts 的摘录:
ngOnInit() {
this.loginForm = this.formBuilder.group({
userName: ['Username', [Validators.required]],
password: ['Password', [Validators.pattern("^(?=.*[A-Z])(?=.*[!@#\$%\^&\*])(?=.{9,})")]]
});
}
这是我的表单组 div:
<div class="form-group">
<input type="password" formControlName="password" class="form-control" [ngClass]="{ 'is-invalid': submitted && f.password.errors }" />
<div *ngIf="submitted && f.password.errors" class="invalid-feedback">
<div *ngIf="f.password.errors.pattern">Password must contain more than 8 characters, 1 upper case letter, and 1 special character</div>
</div>
</div>
即使密码看起来正确,基本上也不会验证密码。任何提示将不胜感激。
【问题讨论】:
-
你能给个“有效”的密码吗?
-
例如,超人*****应该可以工作
标签: angular