How can you perform form validation
synchronously in Angular?
Use Async Validators returning Observable<ValidationErrors | null>.
✅ Example:
function uniqueUsernameValidator(service: UserService):
syncValidatorFn {
return (control: AbstractControl): Observable<ValidationErrors |
null> => {
return service.checkUsername(control.value).pipe(
map(isTaken => (isTaken ? { uniqueUsername: true } : null))
);
};
}
// Usage:
new FormControl('', null,
uniqueUsernameValidator(this.userService));