2017-04-13 13 views
1

私は、フォームビルダーでカスタムバリデーターを実装していますが、提出時には動作しますが、他のフォームでコントロールの値を動的にトリガーする必要があります。これを達成するために値を変更してください。angle2でフォームバリデータをトリガする方法は?

+0

あなたのコードを投稿してください –

答えて

2

は、私はここであなた

+0

私はこの –

+1

をあなたのionchange関数に追加してください –

0

役立つかもしれないと思うこの

this.RegisterForm1.controls["form control name"].updateValueAndValidity(); 

を試してみてくださいありがとうカスタム検証を持つフォームの例です

formInitilization() { 
     this.loginForm = this._fb.group({ 
     email: ['', [Validators.required ,this.emailValidation]] 
     }); 
    } 

    emailValidation(control?:FormControl){ 
    let val=control.value.trim(); 
    let emailp:any=/^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ 
     if(!emailp.test(val)) 
      return { isInvalidEmail:true }; 
     return null; 
    } 

<input type="text" formControlName="email" autofocus='true'> 
<span *ngIf='!loginForm.controls["email"].valid && loginForm.controls["email"].dirty' > 
    Error message 
</span> 
関連する問題