0
votes

How do we use angular2 validation for password confirmation? I am using angular 2.0 final.

I am using formbuilder class for model driven form as following:

    this.myForm = this.fb.group({
      name: ['', Validators.compose([Validators.required])],
      email: [''],
      passwordgroup: this.fb.group({
        password: ['', Validators.compose([Validators.required])],
        confirm_password: ['', Validators.compose([])]
      })
    });
  
2

2 Answers

3
votes

You can simply use a custom validator by adding this function to your component like this

 import { AbstractControl } from '@angular/forms';

    function passwordConfirming(c: AbstractControl) {
        return c.get('password').value === c.get(' confirm_password').value

this.myForm = this.fb.group({
      name: ['', Validators.compose([Validators.required])],
      email: [''],
      passwordgroup: this.fb.group({
        password: ['', Validators.compose([Validators.required])],
        confirm_password: ['', Validators.compose([])]
      },  { validator: passwordConfirming })
    });
1
votes
this.myForm = this.fb.group({
      name: ['', Validators.compose([Validators.required])],
      email: [''],
      passwordgroup: this.fb.group({
        password: ['', Validators.compose([Validators.required])],
        confirm_password: ['', Validators.compose([])]
      },  passwordConfirming)
    });

Removing the 'validator' key above(doing away with this object notation) and just using validator name 'passwordConfirming' worked without syntax error.