Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A CSV Validator for Rails 3
Ruby
branch: master
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
Gemfile.lock Switched to ActionDispatch upload
Guardfile
MIT-LICENSE Initial Commit
README.md Readme update
Rakefile Initial Commit
csv_file_validator.gemspec gemspec typo fix
csv_validator-0.0.3.gem New gem publish

README.md

Usage

Add to your Gemfile:

gem 'csv_validator'

Run:

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.