我正在使用formBuilder
来验证我的表单。我有一个名为password
的字段,我想验证它是否至少需要一个letter
和one
号码。例如123456789a
必须被接受。我正在使用以下模式:
/^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$/
实际上,在此链接中可以看到它有效。
https://jsfiddle.net/Lqr5abx3/1/
var password = '123456789a';
var validation=/^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$/.test(password);
// returns true
alert(validation)
但是在我的申请中,没有。我的div出现并显示错误
this.register5 = formBuilder.group({password: [
null,
Validators.compose([
Validators.required,
Validators.minLength(7),
Validators.maxLength(15),
Validators.pattern('/^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$/')
])
]})
<ion-item>
<ion-label floating color="azul-2">Contraseña*</ion-label>
<ion-input type="password" value="" [formControl]="createAccountService.register5.controls['password']"></ion-input>
</ion-item>
<div class="error-box" *ngIf="createAccountService.register5.controls['password'].hasError('pattern') && createAccountService.register5.controls['password'].touched">No is the format correct</div>
我在做什么错了?
答案 0 :(得分:2)
您是否尝试删除“ /”? 像这样
Validators.pattern('^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$')