asynchronous - How to trigger validation input after debounce time in Angular2? -


i have form "name" control.

<div class="field">   <label>name</label>   <input ngcontrol="name">   <p *ngif="name.pending">     fetching data server...   </p>   <div *ngif="!name.valid && !name.pending"     class="ui error message">name not valid</div> </div> 

the control built formbuilder :

this.name = fb.control('', null, this.characternamevalidator.bind(this)); 

and created validator :

characternamevalidator(control: control) {     let q = new promise((resolve, reject) => {         settimeout(() => {             if (this._characterservice.ischaracternamealreadyexists(control.value)) {                 resolve({namecharacteralreadyexistserror: true});             } else {                 resolve(null);             }         }, 1000)     });      return q; } 

on each keystroke, validator called. i'm looking way call validator after debounce time.

i try valuechanges(), understand if call specific service not in case of validation.

edit

is idea manage validation manually achieve problem ? don't put validator in control set errors manually on valuechanges.

this.name = fb.control('');  this.name.valuechanges.debouncetime(400).subscribe(() => {   this.characternamevalidator(this.name).then((validationresult => {     this.name.seterrors(validationresult)   })) }); 

see https://github.com/angular/angular/issues/1068 related open issue.

if pass reference control validator use like

this.formgp.controls['numberfld'].updatevalueandvalidity(); 

from https://stackoverflow.com/a/33377290/217408


Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -