0
我试图做一个自定义验证。如果密码不匹配,我想添加ng-invalid
类(将输入设置为无效)。确认密码验证器不工作 - 角
这里是HTML的
<div class="form-group">
<label for="password">Password:</label>
<label class="validations" @load *ngIf="!regForm.get('password').valid && regForm.get('password').touched">Please Enter a Valid Password!</label>
<input type="password" class="form-control" id="password" minlength="6" required placeholder="Enter Your Team Password" formControlName="password">
</div>
<div class="form-group">
<label for="password">Confirm Password:</label>
<label class="validations" @load *ngIf="(!(regForm.get('password').value == regForm.get('password_confirmation').value)) && regForm.get('password_confirmation').touched">Passwords do not Match!</label>
<input type="password" class="form-control" id="password"
[ngClass]="{pwd_mismatch : !(regForm.get('password').value === regForm.get('password_confirmation').value) && regForm.get('password_confirmation').touched}" required placeholder="Re-Enter Your Team Password" formControlName="password_confirmation">
</div>
和component.ts -
passwordConfirm(control: FormControl): {[s: string]: boolean} {
if (control.value != this.password) {
control.hasError;
return null;
}
return {'mismatch': true};
}
注:this.password
店从密码输入FormControl
。 pwd_mismatch
类是实时添加到输入,但未设置为无效
好吧,现在它的罚款,但NG-无效即使输入相同的密码 –
不删除然后this.password可能不包含你认为它是一个包含。发布一个完整的重现问题的最小例子。 –
明白了,现在我添加了 - 如果(control.value === this.regForm.get('password').value)但它不能访问得到undefined –