-3

I have a registration component in which i created form articleForm

    export class RegistrationComponent implements OnInit {
    articleForm = new FormGroup({
  password: new FormControl('', [Validators.required]) ,
  confirmPassword: new FormControl ('',[ Validators.required])} ,
this.checkPasswords
);
 checkPasswords(group: FormGroup) { 
    let setPassword = group.get('setPassword').value;
    let confirmPassword = group.get('confirmPassword').value;
    return setPassword === confirmPassword ? null : { notSame: true }     
      }

here is my html file ......

  <tr><td> Password</td><td><input formControlName="password" id="materialFormCardNameEx" class="form-control"type="password">
    <label *ngIf="articleForm.get('password').invalid && processValidation" [ngClass] = "'error'"> <font color="red"> password is required. </font></label>

    <tr><td>confirm Password</td><td><input formControlName="confirmPassword" id="materialFormCardNameEx" class="form-control" type="password">
      <label *ngIf="articleForm.get('confirmPassword').invalid && processValidation" [ngClass] = "'error'"> <font color="red"> password not matching. </font></label>

how to do a confirm password validation in this?,

how to do it with formgroup instead of formbuilder? coz there are many solution with form builder but none with form group

Mox Shah
  • 13
  • 6
  • 1
    Does this answer your question? [password and confirm password field validation angular2 reactive forms](https://stackoverflow.com/questions/43487413/password-and-confirm-password-field-validation-angular2-reactive-forms) – Vikas Jun 09 '20 at 05:44
  • how to do it with formgroup instead of formbuilder? coz there are many solution with form builder but none with form group – Mox Shah Jun 09 '20 at 07:53

1 Answers1

0

html


 <form  [formGroup]="FormReset" (ngSubmit)="updatePassword()" >

        <div class="uk-margin">
            <div class="uk-inline uk-width-1-1">
                <span class="uk-form-icon" uk-icon="icon: lock"></span>
                <input class="uk-input uk-form-large" type="password" placeholder="Confirm password" name="confirmPassword" formControlName="confirmPassword" required>

            </div>
        </div>

        <div *ngIf="FormReset.get('setPassword').dirty != 0 && FormReset.get('confirmPassword').dirty != 0 " class="alert alert-danger">

                <label class="uk-text-meta uk-text-danger" *ngIf="FormReset.hasError('notSame')"> Password & Confirm Password does not match. </label>  
            </div>

                <button type="submit" [disabled]="!FormReset.valid" class="uk-button uk-button-primary uk-button-large uk-width-1-1 " >
      <form>


ts

    ngOnInit() {

    this.FormReset = this.formBuilder.group({
      setPassword: [null, Validators.compose([
                                          Validators.required, 
                                          Validators.maxLength(30),
                                          Validators.minLength(6)])
                                        ],
      confirmPassword: [null, Validators.compose([
                                        Validators.required, 
                                        Validators.maxLength(30),
                                        Validators.minLength(6)])
                                      ],                                  
    },{validator: this.checkPasswords }
    )}


   checkPasswords(group: FormGroup) { 
  let setPassword = group.get('setPassword').value;
  let confirmPassword = group.get('confirmPassword').value;
  return setPassword === confirmPassword ? null : { notSame: true }     
    }



Ameer Amjed
  • 147
  • 1
  • 11