Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A CSV Validator for Rails 3
Latest commit f983ab8 @mattfordham New gem publish
Failed to load latest commit information.
lib Added test for presence of CSV file
spec Added test for presence of CSV file
.gitignore Initial Commit
Gemfile Initial Commit
Guardfile Initial Commit
MIT-LICENSE Initial Commit Readme update
csv_file_validator.gemspec gemspec typo fix
csv_validator-0.0.3.gem New gem publish


Add to your Gemfile:

gem 'csv_validator'


bundle install

Then add the following to your model:

attr_accessor :my_csv_file

validates :my_csv_file, :csv => true

This will check to see if it is a properly formed CSV file.

In this case, csv_validator expects :my_csv_file to be an instance of ActionDispatch::Http::UploadedFile, which is created by default for Rails uploads.

Other validation options

There are a handful of other options for more specific validation too. A complete list is below... note that you wouldn't use all simultaneously.

validates :my_csv_file, :csv => {
                          :columns => 3, # an exact number of columns
                          :max_columns => 10, # a maximum number of columns
                          :min_columns => 1, # a minimum number of columns
                          :rows => 20, # an exact number of rows
                          :max_rows => 30, # a maximum number of rows
                          :min_rows => 2, # a minimum number of rows
                          :email => 0, # will check to make sure all emails in specified column are valid email addresses
                          :numericality => 0, # will check to make sure all values in specified column are numerical
Something went wrong with that request. Please try again.