validates_inclusion_ofには大文字と小文字を区別する引数がないため、独自のバリデーターを作成できます(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
これをlibディレクトリに次のように保存します。
lib/day_format_validator.rb
次に、モデルで次のことができます。
validates :day, :day_format => true
これをconfig/application.rbに入れて、railsが起動時にこのlibファイルをロードすることを確認してください。
config.autoload_paths += Dir["#{config.root}/lib/**/"]