0

Angular2でフォームをどのように検証しますか?私はエラーが発生しています。角度2で未定義のプロパティ 'バリデータ'を読み取ることができませんか?

https://plnkr.co/edit/slhySWT0mJXkloGK1kfO?p=preview

<ion-navbar *navbar> 
    <ion-title> 
    Ionic 2 
    </ion-title> 
</ion-navbar> 

<ion-content class="has-header"> 
    <form [ngFormModel]="loginForm" (submit)="login($event)"> 
      <ion-input stacked-label> 
       <ion-label>Username</ion-label> 
       <input type="text" ngControl="username"> 
      </ion-input> 

      <ion-input stacked-label> 
       <ion-label>Password</ion-label> 
       <input type="password" ngControl="password"> 
      </ion-input> 

      <div padding> 
       <button block type="submit" [disabled]="!loginForm.valid">Login</button> 
      </div> 
     </form> 
</ion-content> 

エラー

TypeError: Cannot read property 'validator' of undefined 
    at NgFormModel.ngOnChanges (https://code.angularjs.org/2.0.0-beta.15/angular2.dev.js:17240:73) 
    at AbstractChangeDetector.ChangeDetector_FormClass_0.detectChangesInRecordsInternal (viewFactory_FormClass:86:59) 
+0

http://www.gajotres.net/ionic-2-how-o-create-and-validate-forms/2/ – yurzui

答えて

1

私はionic2に慣れていないよ、そう何かが、私は認識していないんだということが起こっていてもよいです。しかし、それはあなたが宣言するかFormClassであなたのフォームコントロールを初期化していないように見えます。おそらくこれを試してみてください:

export class FormClass { 

    loginForm: ControlGroup; 

    constructor(private fb: FormBuilder){ 
    this.loginForm = this.fb.group({ 
     'username': ['', Validators.required], 
     'password': ['', Validators.required] 
    }); 
    } 

} 

また、FormClassでログインメソッドを定義して、定義した(送信)バインディングを処理する必要があります。

関連する問題