Які бувають типи валідаторів?
В Angular є два типи валідаторів:
Синхронні (synchronous validators)
- Перевіряються одразу, без очікування.
- Використовуються найчастіше.
- Приклади вбудованих:
Validators.required- поле не повинно бути порожнім;Validators.email- перевіряє коректність e-mail;Validators.minLength(n)/Validators.maxLength(n)- обмежують довжину;Validators.pattern(regex)- перевіряє за регулярним виразом.- Можна писати власні, що повертають
null(якщо все гаразд) або об'єкт помилки.
Асинхронні (asynchronous validators)
-
Використовуються, коли перевірка вимагає часу, наприклад запит до сервера.
-
Повертають
PromiseабоObservable. -
Приклад: перевірка, чи зайнятий логін:
typescriptcheckUsername(control: FormControl) { return this.api.checkUser(control.value).pipe( map(isTaken => (isTaken ? { usernameTaken: true } : null)) ); }
Обидва типи можуть застосовуватися як до окремих FormControl, так і до цілих FormGroup.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.