Angular way to validate a form when you submit it

Ok… I have a couple of questions.

First of all i’ve a form validator and i don’t know why but it’s validating when you type and not when you submit the form.
This is my code.

login.html



      <ion-card class="cardinformacion">
        <ion-card-content>
          <ion-list no-line>
            <form [formGroup]="registrationForm" (ngSubmit)="registrationForm.valid && submitRegistration(registrationForm.value)" novalidate>
              <ion-item>
                <ion-input placeholder="Email" formControlName="correo" type="text"></ion-input>
              </ion-item>
              <div class="danger" *ngIf="registrationForm.controls.correo.touched">
                <div *ngIf="registrationForm.controls.correo.hasError('required')">Ha de introducir un correo.</div>
                <div *ngIf="registrationForm.controls.correo.hasError('invalidEmail')">El formato es incorrecto.</div>
              </div>

              <ion-item>
                <ion-input placeholder="Contraseña" formControlName="usuario" type="password" minlength='3'></ion-input>
              </ion-item>

              <div class='danger' *ngIf="registrationForm.controls.usuario.touched">
                <div *ngIf="registrationForm.controls.usuario.hasError('required')">Ha de introducir una contraseña.</div>
              </div>

              <button ion-button block type="submit" block [disabled]='!registrationForm.valid'>
                <ion-icon name="ion-android-send"></ion-icon>
                Enviar
              </button>
            </form>
            <pre>{{registrationForm.value | json}}</pre>
          </ion-list>
        </ion-card-content>
      </ion-card>
**login.ts**

constructor(public navCtrl: NavController, public navParams: NavParams) {

    this.submit = 0;

    this.registrationForm = fb.group({
      usuario: ['', Validators.required],
      correo: ['', Validators.compose([Validators.required,  emailValidator])],
      });
  }

  submitRegistration(value): void {
    let v = JSON.stringify(value);
    this.usuario = value.usuario;
    this.correo = value.correo.toLowerCase();

    form.find('button[type=submit]').click();
  }

What i’m doing wrong?

2nd Question… How i can do to remember an user and autocomplete that field with a button to remember or something?





Thanks