Before you go, check out these stories!

Hackernoon logoImplementing A Confirm Password Field in Angular Template Form Without A Custom Validator by@baherWael

Implementing A Confirm Password Field in Angular Template Form Without A Custom Validator

Author profile picture

@baherWaelBaher Wael

When you try to make a confirm password or a retype email field using Angular template-driven forms, you might think it will be as easy as using a validate equal attribute that would take the other field's reference or name and produce an error if the two fields aren't matching,

You start searching for this attribute in Angular documentation but you can't find anything, so you turn to stack overflow for answers and you figure out that you have to make it yourself using custom validators, which will cost you some time and effort.

In this short article I will show you how to use an npm package that does exactly what you need in 3 easy steps without any effort.

Step 1:

install ng-validate-equal package

npm i ng-validate-equal

Step 2:

import ValidateEqualModule from 'ng-validate-equal' in your module.ts and add it to the NgModule imports' array

import { ValidateEqualModule } from 'ng-validate-equal';

  declarations: [],
  imports: [
  providers: [],

Step #3:

  • Make sure you surround your field and its confirmation/retype field in a
    <form> </form>
  • Give your primary field a name
  • Use the directive
    on the secondary field and pass the primary field's name to the directive like this
  • Look for
    error in the confirmation field's errors array like this
  • <!-- form -->
    <!-- password -->
    <input type="password" name="passwordFieldName" placeholder="Password" #modelPassword="ngModel" [(ngModel)]="model.password">
    <!-- confirm Password -->
      Confirm Password
    <input type="password" ngValidateEqual="passwordFieldName" #modelConfirmPassword="ngModel" [(ngModel)]="model.confirmPassword" placeholder="Confirm Password">
    <div *ngIf="(modelConfirmPassword.dirty || modelConfirmPassword.touched) && modelConfirmPassword.invalid">
        <p class="warning-text" *ngIf="modelConfirmPassword.hasError('notEqual') && modelPassword.valid">
          Passwords Don't Match

    That's it :) !!

    I hope you enjoyed reading this article, And that it was beneficial to you.

    Thanks for reading


Become a Hackolyte

Level up your reading game by joining Hacker Noon now!