url
Строка — ссылка с разрешённым протоколом. По умолчанию только http и https.
Сигнатура
ts
function url(msg?: Message, protocols?: string[]): Action<string>Параметры
| Параметр | Тип | Описание |
|---|---|---|
msg | Message | Своё сообщение об ошибке |
protocols | string[] | Разрешённые протоколы. По умолчанию ['http', 'https'] |
Коды ошибок
| Код | Когда | Сообщение по умолчанию |
|---|---|---|
url | Не ссылка или другой протокол | Invalid URL |
Тексты можно поменять: см. Сообщения и локализация.
Особенности
Ссылки вида javascript: и data: не пройдут — значение безопасно выводить в href. Домен без протокола (example.com) — тоже ошибка: добавьте протокол preprocess или startsWith.
Пример
ts
const Profile = object({
website: optional(pipe(string(), trim(), url())),
ftp: optional(pipe(string(), url(undefined, ['ftp', 'sftp']))),
});