# File-column plugin file size validation?

**URL:** <https://www.ruby-forum.com/t/file-column-plugin-file-size-validation/76360>\
**Category:** Rails\
**Created:** [November 17, 2006, 10:21pm UTC](https://www.ruby-forum.com/t/file-column-plugin-file-size-validation/76360 "2006-11-17T22:21:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![eddiewould](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/b5e925/32.png) [@eddiewould](https://www.ruby-forum.com/u/eddiewould)\
**Post date:** [November 17, 2006, 10:21pm UTC](https://www.ruby-forum.com/t/file-column-plugin-file-size-validation/76360/1 "2006-11-17T22:21:39Z")

</div>

Anyone had success with this?

i tried this:

# validate :check\_file\_size

# 

# def check\_file\_size

# if @picture and @picture.size \> 50000

# errors.add(‘picture’, ‘too big’)

# end

# end

# 

# def picture

# @picture

# end

# 

# def picture=(picture)

# @picture=picture

# end

as you can see, it’s been commented out because it well, doesn’t work…

Insights?

---

<div class="post-metadata">

**Author:** ![eddiewould](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/b5e925/32.png) [@eddiewould](https://www.ruby-forum.com/u/eddiewould)\
**Post date:** [November 17, 2006, 10:38pm UTC](https://www.ruby-forum.com/t/file-column-plugin-file-size-validation/76360/2 "2006-11-17T22:38:00Z")

</div>

try putting this in your user model

validates\_filesize\_of :file, :in =\> 0…3.megabyte

---

<div class="post-metadata">

**Author:** ![eddiewould](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/b5e925/32.png) [@eddiewould](https://www.ruby-forum.com/u/eddiewould)\
**Post date:** [November 19, 2006, 10:59am UTC](https://www.ruby-forum.com/t/file-column-plugin-file-size-validation/76360/3 "2006-11-19T10:59:36Z")

</div>

This worked, thanks for pointing this out. in addition, i guess there’s  
also:

validates\_file\_format\_of :image, :in =\> [“gif”, “png”, “jpg”]  
validates\_image\_size :image, :min =\> “1200x1800”

---

<div class="post-metadata">

**Author:** ![eddiewould](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/b5e925/32.png) [@eddiewould](https://www.ruby-forum.com/u/eddiewould)\
**Post date:** [February 1, 2008, 9:28am UTC](https://www.ruby-forum.com/t/file-column-plugin-file-size-validation/76360/4 "2008-02-01T09:28:30Z")

</div>

I’m having an issue with the validation. I have …

validates\_filesize\_of :avatar, :in =\> 0.kilobytes…40.kilobytes  
validates\_file\_format\_of :avatar, :in =\> [“gif”, “png”, “jpg”]

It’s catching everything fine but the problem is when the form refreshes  
it displays the most recent uploaded picture (in this case) from the tmp  
folder. So if I uploaded an image that was too big it will display that  
one.

Any thoughts?

---

<div class="post-metadata">

**Author:** ![eddiewould](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/b5e925/32.png) [@eddiewould](https://www.ruby-forum.com/u/eddiewould)\
**Post date:** [February 3, 2008, 2:24pm UTC](https://www.ruby-forum.com/t/file-column-plugin-file-size-validation/76360/5 "2008-02-03T14:24:47Z")

</div>

Jon Minori wrote:

> Any thoughts?

You can try something like

\<% if model.errors.on(:avatar) %\>  
Invalid avatar  
\<% else %\>  
\<%= image\_tag url\_for\_image\_column(‘model’, ‘avatar’) %\>  
\<% end %\>

–  
We develop, watch us RoR, in numbers too big to ignore.

---

<div class="post-metadata">

**Author:** ![eddiewould](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/b5e925/32.png) [@eddiewould](https://www.ruby-forum.com/u/eddiewould)\
**Post date:** [February 4, 2008, 5:39pm UTC](https://www.ruby-forum.com/t/file-column-plugin-file-size-validation/76360/6 "2008-02-04T17:39:14Z")

</div>

Yeah that seems like a pretty simple solution. Thank you!
