timriley on remove-auto-register
Remove `auto_register!` and add… (compare)
timriley on remove-auto-register
Remove `auto_register!` and add… (compare)
timriley on remove-auto-register
Remove `auto_register!` and add… (compare)
timriley on remove-auto-register
Remove `auto_register!` and add… (compare)
timriley on remove-auto-register
Remove `auto_register!` and add… (compare)
timriley on remove-auto-register
Remove `auto_register!` and add… (compare)
timriley on remove-auto-register
Remove `auto_register!` and add… (compare)
timriley on remove-auto-register
Remove `auto_register!` and add… (compare)
Hello folks, I wonder if there is a recommended (or better) way for validating related values in dry-validations, e.g.:
schema = Dry::Validation.Form do
key(:a).required(:int?, gteq?: 0)
key(:b).required(:int?)
rule(:b_gt_a) do
value(:b).gt?(value(:a))
end
end
result = schema.call(params)
I noticed that the validation message is plain, for example, if I pass {a: 0, b: 0}, the schema says that b must be greater than 0, but it would be really helpful for the client to know that it must be greater than a
schema = Dry::Validation.Form do
configure do
def self.messages
Dry::Validation::Messages.default.merge(
en: { errors: { b_gt_a: 'b must be greater than a' } }
)
end
end
key(:a).required(:int?, gteq?: 0)
key(:b).required(:int?)
rule(:b_gt_a) do
value(:b).gt?(value(:a))
end
end
result = schema.call({a: 0, b: 0})
result.messages
# => {:b_gt_a=>["b must be greater than a"]}
Mixin
change?