ValidationService¶
Описание: Сервис для валидации данных Выполняет валидацию объектов на основе атрибутов PHP 8.3. Поддерживает различные типы валидации: обязательные поля, ограничения длины, диапазоны значений, регулярные выражения. Использует рефлексию для автоматического обнаружения правил валидации.
С версии: 1.0.0
Версия: 1.0.0
Пример:
См. также:
\KinopoiskDev\Attributes\Validation: Атрибут валидации\KinopoiskDev\Exceptions\ValidationException: Исключения валидации
validate()¶
Описание: Валидирует объект на основе атрибутов свойств Основной метод валидации, который анализирует все свойства объекта и проверяет их на соответствие правилам, заданным в атрибутах Validation. Выбрасывает ValidationException при обнаружении ошибок валидации.
Параметры:
$object(object): Объект для валидации (должен иметь свойства с атрибутами Validation)
Возвращает: bool True если валидация прошла успешно
Исключения:
ValidationException: При ошибках валидации с детальным описанием проблем
Пример:
| PHP | |
|---|---|
validateProperty()¶
Описание: Валидирует конкретное свойство объекта Проверяет одно свойство объекта на соответствие правилам валидации, заданным в атрибуте Validation. Поддерживает различные типы проверок в зависимости от типа значения свойства.
Параметры:
$object(object): Объект для валидации$property(ReflectionProperty): Свойство для валидации
Возвращает: array<string, string> Массив ошибок валидации в формате ['property' => 'error']
validateString()¶
Описание: Валидирует строковое значение Выполняет валидацию строковых значений согласно правилам: минимальная/максимальная длина и соответствие регулярному выражению.
Параметры:
$value(string): Строковое значение для валидации$validation(Validation): Правила валидации из атрибута$propertyName(string): Название свойства для сообщений об ошибках
Возвращает: array<string, string> Массив ошибок валидации
validateNumeric()¶
Описание: Валидирует числовое значение Выполняет валидацию числовых значений согласно правилам: минимальное/максимальное значение.
Параметры:
$value(float|int): Числовое значение для валидации$validation(Validation): Правила валидации из атрибута$propertyName(string): Название свойства для сообщений об ошибках
Возвращает: array<string, string> Массив ошибок валидации
validateArray()¶
Описание: Валидирует массив данных по правилам Альтернативный метод валидации для работы с массивами данных вместо объектов. Полезен для валидации входных данных API или данных форм.
Возвращает: bool True если валидация прошла успешно
Исключения:
ValidationException: При ошибках валидации
Пример:
validateFieldValue()¶
Описание: Валидирует значение поля по правилам Вспомогательный метод для валидации отдельного поля согласно переданным правилам. Поддерживает различные типы правил валидации.
Параметры:
$value(mixed): Значение поля для валидации$fieldName(string): Название поля для сообщений об ошибках
Возвращает: array<string, string> Массив ошибок валидации
validateValue()¶
Описание: Валидирует значение на основе правил валидации Универсальный метод для валидации любого значения согласно объекту Validation. Возвращает сообщение об ошибке или null при успешной валидации.
Параметры:
$value(mixed): Значение для валидации$validation(Validation): Правила валидации
Возвращает: string|null Сообщение об ошибке или null если валидация прошла успешно
validateApiToken()¶
Описание: Валидирует API токен
Параметры:
$token(string|null): API токен для валидации
Возвращает: bool
Исключения:
ValidationException:
validateHttpMethod()¶
Описание: Валидирует HTTP метод
Параметры:
$method(string): HTTP метод
Возвращает: bool
Исключения:
ValidationException:
validateEndpoint()¶
Описание: Валидирует endpoint
Параметры:
$endpoint(string): Endpoint для валидации
Возвращает: bool
Исключения:
ValidationException:
validateYear()¶
Описание: Валидирует год
Параметры:
$year(int): Год для валидации
Возвращает: bool
Исключения:
ValidationException:
validateRating()¶
Описание: Валидирует рейтинг
Параметры:
$rating(float): Рейтинг для валидации
Возвращает: bool
Исключения:
ValidationException:
validateLimit()¶
Описание: Валидирует лимит
Параметры:
$limit(int): Лимит для валидации
Возвращает: bool
Исключения:
ValidationException:
validatePage()¶
Описание: Валидирует номер страницы
Параметры:
$page(int): Номер страницы
Возвращает: bool
Исключения:
ValidationException:
validateMovieId()¶
Описание: Валидирует ID фильма
Параметры:
$movieId(int): ID фильма
Возвращает: bool
Исключения:
ValidationException:
validatePersonId()¶
Описание: Валидирует ID персоны
Параметры:
$personId(int): ID персоны
Возвращает: bool
Исключения:
ValidationException:
validateGenre()¶
Описание: Валидирует жанр
Параметры:
$genre(string): Жанр для валидации
Возвращает: bool
Исключения:
ValidationException:
validateCountry()¶
Описание: Валидирует страну
Параметры:
$country(string): Страна для валидации
Возвращает: bool
Исключения:
ValidationException:
validateProfession()¶
Описание: Валидирует профессию
Параметры:
$profession(string): Профессия для валидации
Возвращает: bool
Исключения:
ValidationException:
validateSearchQuery()¶
Описание: Валидирует поисковый запрос
Параметры:
$query(string): Поисковый запрос
Возвращает: bool
Исключения:
ValidationException:
validateDate()¶
Описание: Валидирует дату
Параметры:
$date(string): Дата в формате Y-m-d
Возвращает: bool
Исключения:
ValidationException:
validateDateRange()¶
Описание: Валидирует диапазон дат
Параметры:
$startDate(string): Начальная дата$endDate(string): Конечная дата
Возвращает: bool
Исключения:
ValidationException:
validateNotEmptyArray()¶
Описание: Валидирует непустой массив
Параметры:
$array(array): Массив для валидации
Возвращает: bool
Исключения:
ValidationException: