Библиотека Validator.js построена вокруг единого подхода к параметрам: почти все методы принимают строку в качестве первого аргумента и дополнительный набор опций или локаль во втором аргументе. Такой дизайн обеспечивает предсказуемость и консистентность API.
Типовая сигнатура большинства функций:
validator.method(input: string, options?: object | array | string)Ключевые особенности параметров:
Проверка длины строки с учётом диапазона.
Параметры:
min: number — минимальная длинаmax: number — максимальная длинаПример сигнатуры:
isLength(str, { min, max })Особенности:
Проверка длины строки в байтах.
Параметры:
min: numbermax: numberИспользуется при:
Особенность:
Проверка целого числа.
Параметры (options):
min?: number — минимальное значениеmax?: number — максимальное значениеallow_leading_zeroes?: boolean — разрешение ведущих
нулейgt?: number — строго большеlt?: number — строго меньшеПример:
{ min: 10, max: 100 }Проверка числа с плавающей точкой.
Параметры:
min?: numbermax?: numberlocale?: string — локаль (разделитель дробной
части)gt?: numberlt?: numberОсобенность:
Проверка, является ли строка числом.
Параметры:
no_symbols?: boolean — запрещает знаки +,
-, .locale?: stringПроверка булевого значения в строковом виде.
Параметры:
strict?: boolean — строгий режим
("true"/"false" без альтернатив)loose?: boolean — допускает 1,
0, "yes", "no"Особенность:
Проверка корректности даты.
Параметры:
Особенности:
Проверка ISO 8601 формата.
Параметры:
strict?: boolean — строгая проверка полного
соответствия стандартуПроверка JSON-строки.
Параметры:
Особенность:
JSON.parse, поэтому валидность
зависит от строгого синтаксисаПроверка email-адреса.
Параметры:
allow_display_name?: booleanrequire_display_name?: booleanallow_utf8_local_part?: booleanrequire_tld?: booleanignore_max_length?: booleandomain_specific_validation?: booleanОсобенность:
Проверка URL.
Параметры:
protocols?: string[] — допустимые протоколы
(http, https, ftp)require_protocol?: booleanrequire_valid_protocol?: booleanallow_underscores?: booleanhost_whitelist?: string[]host_blacklist?: string[]allow_trailing_dot?: booleanallow_protocol_relative_urls?: booleanОсобенность:
Проверка полного доменного имени.
Параметры:
require_tld?: booleanallow_underscores?: booleanallow_trailing_dot?: booleanПроверка IP-адреса.
Параметры:
version?: 4 | 6 — версия IPПроверка MAC-адреса.
Параметры:
no_separators?: booleaneui?: '48' | '64' — формат адресаПроверка номера телефона.
Параметры:
locale: string | string[] — страны/регионыstrictMode?: booleanallowMobileExtensions?: booleanОсобенность:
Проверка почтового индекса.
Параметры:
locale: stringОсобенность:
Проверка валютного формата.
Параметры:
symbol?: string — символ валютыrequire_symbol?: booleanallow_space_after_symbol?: booleansymbol_after_digits?: booleanthousands_separator?: stringdecimal_separator?: stringallow_negatives?: booleanparens_for_negatives?: booleanОсобенность:
Проверка UUID.
Параметры:
version?: 3 | 4 | 5 | 'all'Удаление пробелов.
Параметры:
chars?: string — набор символов для удаленияlocale?: stringЭкранирование HTML-символов.
Параметры:
Обратное преобразование HTML-символов.
Параметры:
Нормализация email-адреса.
Параметры:
gmail_lowercase?: booleangmail_remove_dots?: booleangmail_remove_subaddress?: booleanoutlookdotcom_lowercase?: booleanall_lowercase?: booleanОсобенность:
Проверка только букв.
Параметры:
locale?: stringignore?: stringПроверка букв и цифр.
Параметры:
locale?: stringignore?: stringПроверка ASCII-символов.
Параметры:
Проверка хеш-строки.
Параметры:
algorithm?: string — например md5,
sha1, sha256Проверка JSON Web Token.
Параметры:
true/falseПри конфликте параметров приоритет обычно имеет:
strict,
require_*)min, max)allow_*)Параметр locale:
Многие методы принимают массивы:
Это позволяет строить сложные правила без внешней логики.