Skip to content Skip to sidebar Skip to footer

Html5 Validation In Ionic

I am learning Ionic at the time. But it seems like HTML5 validation is not working in Ionic. So, i have a login form like below.

Login

&

Solution 1:

HTML5 form validation does not work in Ionic. Instead, you can use Angular forms.

This is a great tutorial by Josh Morony on how to do it.

In your case, you can do something like this using FormBuilder and specifying Validators for each field (for a full list of available validators, take a look at the docs).

import { Component } from'@angular/core';
import { Validators, FormBuilder, FormGroup } from'@angular/forms';

@Component({
  selector: 'page-login',
  templateUrl: 'login.html'
})
exportclassLogin {
  login: FormGroup;
  submitted: boolean = false;

    constructor(public formBuilder: FormBuilder) {
      this.login = this.formBuilder.group({
        email: ['', Validators.compose([Validators.email, Validators.required])],
        password: ['', Validators.required],
      });
    }

    onLogin() {
      this.submitted = true;

      if (this.login.valid) {
        console.log(this.login.value);
      }
   }
}

In your template, use FormGroup and show your error message when the field is invalid.

<form [formGroup]="login" (ngSubmit)="onLogin()"><ion-item><ion-label>Email</ion-label><ion-inputtype="email"formControlName="email"></ion-input></ion-item><pion-text [hidden]="login.controls.email.valid || submitted === false"color="danger"padding-left>
    Please enter a valid email
  </p><ion-item><ion-label>Password</ion-label><ion-inputtype="password"formControlName="password"></ion-input></ion-item><pion-text [hidden]="login.controls.password.valid || submitted === false"color="danger"padding-left>
    Password is required
  </p><buttonion-buttontype="submit">Login</button></form>

Post a Comment for "Html5 Validation In Ionic"