Sha256: 25469d9221164ff40a3a127459f3235d7fb4360ced3514e34cb3a7a2ca4b7b7f
Contents?: true
Size: 842 Bytes
Versions: 22
Compression:
Stored size: 842 Bytes
Contents
# config/initializers/email_validator.rb class EmailValidator < ActiveModel::EachValidator def validate_each(record, attr_name, value) unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i record.errors.add(attr_name, :email, options.merge(:value => value)) end end end class UrlValidator < ActiveModel::EachValidator def validate_each(record, attr_name, value) unless value =~ URI::regexp(%w(http https)) record.errors.add(attr_name, :url, options.merge(:value => value)) end end end # This allows us to assign the validator in the model module ActiveModel::Validations::HelperMethods def validates_email(*attr_names) validates_with EmailValidator, _merge_attributes(attr_names) end def validates_url(*attr_names) validates_with UrlValidator, _merge_attributes(attr_names) end end
Version data entries
22 entries across 22 versions & 1 rubygems