asyncValidator()

in Output/GPT4_Turbo/JS/extracted_code/translation/ReactToAngular_high_low/signup.component.ts [32:49]


  asyncValidator(control: FormGroup) {
    const name = control.get('name').value;
    const email = control.get('email').value;

    return Promise.all([
      this.apiService.isName(name),
      this.apiService.isEmail(email)
    ]).then(([nameResult, emailResult]) => {
      const errors = {};
      if (nameResult.data) {
        errors['name'] = 'This name is already in use';
      }
      if (emailResult.data) {
        errors['email'] = 'This email is already in use';
      }
      return Object.keys(errors).length ? errors : null;
    });
  }