Ограничения
Ограничения, накладываемые на текущую реализацию
В текущей реализации следует ограничиться минимально необходимым функционалом. Перечисленные ниже ограничения могут быть полностью или частично сняты в процессе дальнейшего функционального развития проекта.
Одна локализация. В рамках текущей версии не предполагается использования более одного языка (английского) для текстовых сообщений.
Конфигурируемость "Абстрактного Валидатора" требуется только на этапе его создания. То есть, валидатор не должен поддерживать конфигурирование списка методов валидации (добавление/удаление методов) и обработчика ошибок после инициализации: если нужен новый валидатор - создаем новый валидатор.
Приоритезация методов валидации не требуется: все методы выполняются в том порядке, в котором они расположены в списке. Возможность дополнительно указывать порядок выполнения методов валидации не требуется.
Условная валидация, то есть возможность указывать условия, при которых следует применять (или не применять) определенные методы валидации, также не требуется (к объекту проверки должны быть безусловно применены все имеющиеся методы валидации).
Группировка валидаторов, то есть возможность объединять несколько валидаторов в группы для более сложных сценариев валидации, не требуется (предполагается, что если по отношению к одному объекту необходимо выполнить несколько методов проверки, то все они передаются одному валидатору списком).
Асинхронность (псевдо-параллельность) не предусматривается. Предполагается, что проверки должны быть относительно быстрыми с точки зрения времени выполнения.
Совместимость требуется с кодом, написанным на Python версии 3.13 или выше (поддержка более ранних версий не требуется).
Обработка нескольких ошибок не требуется (первая же ошибка должна поднять исключение и прекратить валидацию, и если на стороне пользователя вызов валидатора не был заключен в конструкцию try..except, то это приведет к завершению работы скрипта).
Использование контекстной информации не требуется: возможность передавать дополнительный контекст в методы валидации и обработчики ошибок не предусматривается.
Last updated