微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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);
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐