Skip to main content

Які бувають типи валідаторів?

В Angular є два типи валідаторів:

Синхронні (synchronous validators)

  • Перевіряються одразу, без очікування.
  • Використовуються найчастіше.
  • Приклади вбудованих:
    • Validators.required - поле не повинно бути порожнім;
    • Validators.email - перевіряє коректність e-mail;
    • Validators.minLength(n) / Validators.maxLength(n) - обмежують довжину;
    • Validators.pattern(regex) - перевіряє за регулярним виразом.
    • Можна писати власні, що повертають null (якщо все гаразд) або об'єкт помилки.

Асинхронні (asynchronous validators)

  • Використовуються, коли перевірка вимагає часу, наприклад запит до сервера.

  • Повертають Promise або Observable.

  • Приклад: перевірка, чи зайнятий логін:

    typescript
    checkUsername(control: FormControl) { return this.api.checkUser(control.value).pipe( map(isTaken => (isTaken ? { usernameTaken: true } : null)) ); }

Обидва типи можуть застосовуватися як до окремих FormControl, так і до цілих FormGroup.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.