Как стать автором
Обновить

Комментарии 4

Спасибо за статью.
Не совсем понял про применение, описанное в начале — условия выборки записей в базе данных. Ожидал чего-то вроде типизированного способа составлять sql запросы.
И мне кажется, будет хорошо смотреться апи на основе std::expected, сейчас объявление error и явный if зашумляют код. В стандарт expected не вошёл, но библиотечных реализаций уже хватает.

В мотивации все же описано не применение, а откуда вообще задумка пошла. На основе правил валидатора можно было бы составлять SQL-запросы, например _[field1](value(gt,100) ^OR^ value(eq,1)) транслировать в "WHERE field1>100 OR field1=1". Сейчас библиотека написана так, что это в принципе можно сделать, надо только разработать соответствующий adapter. Сама библиотека таких адаптеров не содержит. Может позже напишу статью с примером такого применения. Эта статья все же про валидацию данных.


Да, if зашумляют код, но для этого eсть версия с exception. Посмотрю на std::expected, спасибо за совет.

НЛО прилетело и опубликовало эту надпись здесь

Статье очень не хватает раздела, в котором было бы показано как выглядит некий прикладной код без использования cpp-validator и как этот же код выглядит с cpp-validator. Чтобы сразу и наглядно было видно, какие преимущества можно получить от использования cpp-validator. А то у вас перечень возможностей есть, но как все это ложится на реальный код читателю нужно додумывать самостоятельно.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории