Похожие чаты

Всем привет. Вопрос о rules в dry-validation. Подскажите, пожалуйста, как написать одно

правило и проверить несколько определенных полей из схемы по очереди?

Условно, переписать вот такой псевдо-код без итератора:
json do
required(:a).filled(:integer)
required(:b).filled(:integer)
optional(:c).maybe(:integer)
optional(:d).maybe(:string)
end

%i[a b c].each do |field|
rule(field) do
key.failure('custom error text') unless (0..10000000).cover?(value)
end
end

p.s. gteq? lteq? и прочие предикаты мне известны, но они не подойдут из-за более сложной реализации (если не псевдокод). Интересует ответ на конкретный вопрос выше.

1 ответов

12 просмотров
Georgiy-Bykov Автор вопроса

Ага, с итератором работает, но не нравится как написано:( У меня стойкое предчувствие, что есть какое-то решение, похожее на то, что ты предлагаешь с передачей массива ключей в rules (именно такой способ не работает хех), но я его не нашел в доках, и в сорсах гема тоже полазил безрезультатно. Вполне возможно, его просто нет)

Похожие вопросы

Обсуждают сегодня

Карта сайта