以角度反应形式验证一个字段与另一个字段

时间:2021-07-28 13:06:35

标签: angular forms validation reactive

我想在 angular 最新版本的参考链接中找到相同示例的解决方案。在 Angular 10 或任何 Angular 版本中使用下拉验证值验证文本框。堆栈溢出中解决的参考链接How to validate textbox based on dropdown value in angularjs?

1 个答案:

答案 0 :(得分:0)

我将针对类似主题编写我的解决方案,您可以自行定制:

我检查密码字段是否相同:

  1. 创建验证器
export class PasswordConfirmationValidator {
   
   static checkPasswordsAreTheSame(formGroup: FormGroup): ValidationErrors | null {
       const password = formGroup.get('password')?.value;
       const confirmPassword = formGroup.get('confirmPassword')?.value;
       
       if (password !== confirmPassword) {
           return {
               notTheSame: true
           };
       }
       return null;
   }
}

  1. 将此验证器添加到表单中:
this.formGroup = this.formBuilder.group({
            password: [null, [Validators.required]],
            confirmPassword: [null, [Validators.required]]
        }, {
            validators: PasswordConfirmationValidator.checkPasswordsAreTheSame
        });

由于验证器可以访问整个表单,您可以获得任何控制权并使用它