我正在使用Reactive form.I想要使用rest call检查电子邮件ID是否存在。我使用以下代码
emailValidator(control : FormControl)
{
const q = new Promise((resolve, reject) => {
setTimeout(() => {
this.signupService.isEmaiIDExist(control.value)
.pipe(catchError(this.signupService.errorHandler))
.subscribe(res => {console.log(res)
if(res.status==400)
{
resolve(null)
}else
{
resolve({ 'isEmailExist': true })
}
});
}, 1000);
});
return q;
}
在formbuilder小组中
userEmail: new FormControl(null,[Validators.pattern('.+\@.+\..+')]),this.emailValidator.bind(this))
我不想要将此字段设为必需。如果我将其设为必需,则上面的代码工作正常。但是,如果我删除了必填字段,那么组件加载它直接向后端发送3个休息调用,而不在formcontrol字段中输入任何值。 那么如何解决这个问题..请帮忙。提前谢谢你