We maybe need a quantity validator beside the current validates_length_of?

I was talking with @sgrif about this in this
ticket https://github.com/rails/rails/issues/19570.

I think the current validates_length_of is pretty fine expressing thinks
like “the username is too long”, and the tokenizer is ideal for strings
situations but when it comes to arrays, collections, etc is really
strange
to override the message error and not being able to use some kind of
selector.

I did this gist to test this out
https://gist.github.com/mmontossi/984f8ebfd50ea843b5f2

I was using this validator to thinks like:

validates_count_of :photos, within: 1…3, selector: ->(photos) {
photos.reject(&:marked_for_destruction?) }

This allows to have new errors.messages keys to express quantity:

errors.messages.too_many
errors.messages.too_few
errors.messages.wrong_count

Anyone shares this point of view?

at first glance it seems reasonable

Sent from my iPhone

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs