Мне нужно проверить входящие данные в нескольких контроллерах веб-приложения перед сохранением в БД (DBIx::Class
< / а>). По сути, мне нужно проверить значение для каждого столбца с помощью обратного вызова (анонимный подпрограмм). Сначала я думал об использовании Params::Validate
в каждом контроллере. Но у этого подхода есть две проблемы:
Нет простого способа обрабатывать ошибки проверки с помощью
Params::Validate
, поскольку он просто умирает при первом недопустимом параметре со строкой ошибки.Мне нужно продублировать логику проверки для каждого столбца во всех контроллерах, что нарушает принцип DRY.
Я думаю, что лучше всего было бы сделать логику валидации частью модели. Какой предпочтительный способ сделать это в DBIx::Class
?