Validations are planned for Rails 6. Here’s a rough sketch of the API I have in mind:
validates_attached :logo, presence: true, byte_size: { less_than: 10.megabytes, message: "must be smaller than 10 MB" }, content_type: /\Aimage\// I intended to implement this myself, and laid the groundwork for it in the commit Rob mentioned, but Igor Kasyanchuk asked if he could fold active_storage_validations into Active Storage proper: https://github.com/rails/rails/issues/33741. Since September, I’ve been giving him time to open a PR. Please feel free to investigate yourself. Rails 6 is slated for early next year, so if nobody else opens a PR before then, I’ll come back to validations after the holidays. On Mon, Nov 26, 2018 at 4:13 PM <ifomic...@gmail.com> wrote: > Hmmm... > > Hi Rob, > > thanks for your reply! > > I see how one can validate presence of a blob from this change, but I'm > not sure what could be the syntax for validating content type, filename, or > file size after this change. Could you please elaborate on that? The commit > you referred to provides neither documentation nor tests for these cases. > > Best regards, > Ivan > > On Monday, November 26, 2018 at 9:53:12 PM UTC+1, Rob Zolkos wrote: >> >> Rails 6 will have validations for AS >> https://github.com/rails/rails/commit/e8682c5bf051517b0b265e446aa1a7eccfd47bf7#diff-c76fb6202b7f95a08fe12f40c4999ac9R11 >> >> On Mon, Nov 26, 2018 at 3:36 PM <ifom...@gmail.com> wrote: >> >>> Hi all, >>> >>> I think this is one of the essential features that are missing in Active >>> Storage. Thus I'm pretty sure it's gonna be implemented pretty soon one way >>> or another, and I wonder what is the maintainers' plan for it, if there is >>> any. >>> >>> I know about active_storage_validations gem, but its functionality is >>> quite limited and the gem itself is pretty self-inconsistent and raw >>> (though it's the best publicly available gem I could find, kudos to the >>> maintainers!) >>> >>> One approach I'm thinking of would be to adapt paperclip's validators >>> for Active Storage (thanks to MIT license), and I think I could do it, but >>> I'm not sure if it's gonna be accepted. One doesn't have to invent the >>> wheel, but I'd like to hear an expert opinion. >>> >>> Thank you, >>> >>> Ivan >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Ruby on Rails: Core" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to rubyonrails-co...@googlegroups.com. >>> To post to this group, send email to rubyonra...@googlegroups.com. >>> Visit this group at https://groups.google.com/group/rubyonrails-core. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rubyonrails-core+unsubscr...@googlegroups.com. > To post to this group, send email to rubyonrails-core@googlegroups.com. > Visit this group at https://groups.google.com/group/rubyonrails-core. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-core+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at https://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.