validates_inclusion_of does not have a case_sensitive argument, so you can create your own validator (if you use Rails 3):
class DayFormatValidator < ActiveModel::EachValidator def validate_each(object, attribute, value) unless %w(sunday monday tuesday wednesday thursday friday saturday).include?(value.downcase) object.errors[attribute] << (options[:message] || "is not a proper day.") end end end
and save this in your lib directory as:
lib/day_format_validator.rb
Then in your model you can:
validates :day, :day_format => true
Just make sure the rails load this lib file at startup by putting it in your config / application.rb file:
config.autoload_paths += Dir["#{config.root}/lib/**/"]
source share