Validação de cor hexadecimal CSS no Rails

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 .