如何在angular2中触发Form Validators?

时间:2017-04-13 05:26:43

标签: angular

我已经创建了angular2 web应用程序。我已经使用表单构建器实现了一个自定义验证器,它将在提交时工作,但我需要动态触发其他表单控件值的更改,请任何人给出建议来实现这个

谢谢

2 个答案:

答案 0 :(得分:4)

试试这个

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

我认为可能对你有帮助

答案 1 :(得分:1)

以下是带有自定义验证的表单示例

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

  emailValidation(control?:FormControl){ 
  let val=control.value.trim();
  let emailp:any=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[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>