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.

Reply via email to