Um validador de cores CSS hexadecimal fácil de usar para Rails. Simplesmente coloque isso em um arquivo css_hex_color_validator.rb em app / validators /.
class CssHexColorValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value =~ /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i
object.errors[attribute] << (options[:message] || "must be a valid CSS hex color code")
end
end
end
E use assim:
class SomeModel < ActiveRecord::Base
validates :link_color, :css_hex_color => true
Você pode ler mais sobre validações customizadas na documentação Active Record Validations e Callbacks Rails, ou obter uma cópia disto na forma de essência no GitHub .