angular4 表单异步校验器 邮箱是否注册

前端之家收集整理的这篇文章主要介绍了angular4 表单异步校验器 邮箱是否注册前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    // email是否注册校验器
    emailRegisteredValidator(control: FormControl): Observable<any>{
        if (control.value) {
            return control.valueChanges
            .debounceTime(1000)
            .distinctUntilChanged()
            .mergeMap(() => this.http.checkEmailHasRegisted(control.value))
            .mergeMap(data => Observable.of(null))
            .catch(this.handleError)
            .first()
        } else {
            return Observable.of(null)
        }

    }

    private handleError(error:any) {
        console.log(error)
        if(error.status === 400 ) {
            return Observable.of({‘emailCheck‘: true})
        } else {
            return Observable.of(null);
        }
    }

猜你在找的Angularjs相关文章