angularemail-validation

Angular2 email validation


I am new in learning Angular2, and I want to make a validation form that verifies emails after a RegEx pattern.

My code looks something like this but I don't have any idea if I am doing it right, or what I did wrong, can somebody please help me a bit?

Thank you!

I fixed it. Thank you a lot everybody.

<div class="alert-email">
    <label for="contactemail">EMAIL: </label>
    <input type="email" id="contactemail" name="contactemail"
           required ng-pattern="/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/"
           [(ngModel)]="model.contactemail" #contactemail="ngModel"
           placeholder="Your email" /><br><br>
    <div *ngIf="contactemail.errors && (contactemail.dirty || contactemail.touched)" class="alert-email alert-danger-email"><br>
      <div [hidden]="!contactname.errors.required">
        Email is required
      </div>
      <div [hidden]="!contactname.errors">
        Please input a valid email.
      </div>
    </div>
  </div>


Solution

  • Try Something like that

    <div class="alert-email">
            <label>Email</label>
                <input
                    id="contactemail"
                    type="text"                
                    #contactemail="ngModel"
                    [(ngModel)]="model.contactemail"
                    required
                    pattern="^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$">
    
            <div class="md-errors-spacer" [hidden]="contactemail.valid || contactemail.untouched">
                <div  *ngIf="contactemail.errors && contactemail.errors.required">
                    Email is required
                </div>
                <div  *ngIf="contactemail.errors && contactemail.errors.pattern">
                    Email is invalid
                </div>
            </div>
        </div>