当我们写表单验证时,前台校验有时候是部门满足我们的,比如重复值校验,这个只能去后台查询数据库来进行校验了,最好使用异步校验,解决网络链接问题。
要注意的是,在将校验方法独立成一个ts文件,运行这个校验方法时,会在构造器那一步报错,提示构造器内注入的变量undifined,尚未找到解决办法,有吱道的欢迎留言。
所以暂时这个后台校验方法只能写在当前需要的ts文件中,然后引用相应的service来链接后台
loginNameValidate(): Observable<any> {
const value = this.entityFormGroup.get('loginName').value;
const loginName = {loginName: value};
if (value) {
return this.entityFormGroup.get('loginName').valueChanges.debounceTime(1000).distinctUntilChanged().flatMap(() => {
/* this.service.loginNameValidator(loginName).subscribe( data => {
if( data ) {
console.log('1', data);
return Observable.of({'data': '名字重复'})