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