Написание кастомного правила для go-playground/validator
Запись от DrType размещена 04.01.2024 в 14:14
Показов 1561
Комментарии 0
|
Юзаю пакет github.com/go-playground/validator/v10 для валидации запросов в Fiber (в пет-прожекте). Захотелось иметь правило валидации наподобие ларавелевского exists. Реализовал следующим образом:
db.Database в 29 строчке имеет тип *gorm.DB. Возможно есть более канонический способ динамического построения запроса на основе имени таблицы и имени столбца; но в любом случае об инъекциях речи все равно не идет, так как эти два параметра задаются разработчиком (который при этом легко может поломать запрос, что я как-то раз и сделал, добавив лишний символ ; в struct tag)... Также можно было бы добавить обработку ошибки запроса, но вроде не критично, так как в случае неудачи паники все равно не возникает, а функция просто возвращает false.Это я к тому, что напиание кастомных правил валидации - плодотворная затея, может упростить жизнь. И при написании таких функций имхо полезно ориентироваться на реализации встроенных (baked in) правил в исходном коде пакета. | |||||||||||||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии


