表单验证角2中的文本框未变为红色

时间:2018-09-20 08:50:37

标签: angular forms validation angular2-forms

所以我有一个很奇怪的问题。我在Angular 2中使用Ionic进行表单验证。如果我单击该文本框,则会显示验证,但该文本框不会变成红色,但是每当我单击并再次单击该文本框时,它就会变为红色,因此2次单击后它会变为红色,我不知道解决方法。

表格:

<form [formGroup]="form"
      (ngSubmit)="addUser(form)">
  <ion-item>
    <ion-label floating>Username</ion-label>
    <ion-input type="text"
               formControlName="username"
               required></ion-input>
  </ion-item>
  <div *ngIf="form.get('username').touched && form.get('username').invalid"
       class="alert alert-danger">
    <div *ngIf="form.get('username').hasError('required')">Naam moet ingevuld zijn.</div>
    <div *ngIf="form.get('username').hasError('pattern')">Ongeldige naam.</div>
    <div *ngIf="form.get('username').hasError('minLength')">Minder dan 5 letters gebruikt</div>
  </div>
</form>

我的验证:

ngOnInit() {
    this.form = new FormGroup({
      username: new FormControl('', [
        Validators.required,
        Validators.pattern('[a-zA-Z][a-zA-z ]+') /*, Validators.minLength(3)*/
      ]),
      password: new FormControl('', [
        Validators.required,
        Validators.minLength(5)
      ]),
      email: new FormControl('', [Validators.required, Validators.email])
    });
  }

0 个答案:

没有答案