gpt4 book ai didi

javascript - Angular 2中的密码确认

转载 作者:太空狗 更新时间:2023-10-29 18:25:47 24 4
gpt4 key购买 nike

我正在尝试检查这两个密码是否相等。我没有收到任何错误消息,但我没有收到错误消息“密码必须匹配”

下面是我的 DOM:

<div class="form-group" [ngClass]="{'has-error': formName.get('password').touched && 
formName.get('password').hasError('invalidPassword')}">
<label class="control-label">Password</label>
<input type="text" class="form-control" formControlName="password" name="password" required />
</div>

<div class="form-group" [ngClass]="{'has-error': formName.get('confirmpassword').touched
&& formName.get('confirmpassword').hasError('mismatchedPasswords')}">
<label class="control-label">confirm password</label>
<input type="text" class="form-control" formControlName="confirmpassword" name="confirmpassword" required />
<span class="help-block" *ngIf="formName.get('confirmpassword').touched
&& formName.get('confirmpassword').hasError('mismatchedPasswords')">
Password must match
</span>
</div>

关于我如何构建表单的组件类:

   this.formName = this.fb.group({
name: ["", [Validators.required]],
password: ["",[Validators.required, ValidationHelper.passwordValidator]],
confirmpassword: ["",Validators.required],
info: this.fb.group({
acc: ["",[Validators.required, ValidationHelper.creditCardValidator]]
})
},{ validator: ValidationHelper.matchPass})

还有我的密码匹配函数:

static matchPass = (control: AbstractControl) : {[key: string]: boolean} => {    
let password = control.get('password');
let confirmPassword = control.get('confirmpassword');
return password.value === confirmPassword.value ? null : { 'mismatchedPasswords': true };
}

函数正在被调用,我也得到了返回值...但为什么我的确认密码输入控件没有显示错误或激活它的 span 标签。

最佳答案

问题出在模板中的这些行:

formName.get('确认密码').hasError('不匹配的密码')

您正在将验证程序应用于组 formName,但检查 confirmpassword formControl 上的错误。

尝试在模板中检查 mismatchedPasswords 的两个地方使用它。

formName.hasError('不匹配的密码')

关于javascript - Angular 2中的密码确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42258947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com