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

Version Path
sbdevcore-0.3.10 config/initializers/custom_validators.rb
sbdevcore-0.3.9 config/initializers/custom_validators.rb
sbdevcore-0.3.8 config/initializers/custom_validators.rb
sbdevcore-0.3.7 config/initializers/custom_validators.rb
sbdevcore-0.3.6 config/initializers/custom_validators.rb
sbdevcore-0.3.5 config/initializers/custom_validators.rb
sbdevcore-0.3.4 config/initializers/custom_validators.rb
sbdevcore-0.3.3 config/initializers/custom_validators.rb
sbdevcore-0.3.2 config/initializers/custom_validators.rb
sbdevcore-0.3.1 config/initializers/custom_validators.rb
sbdevcore-0.3.0 config/initializers/custom_validators.rb
sbdevcore-0.2.26 config/initializers/custom_validators.rb
sbdevcore-0.2.25 config/initializers/custom_validators.rb
sbdevcore-0.2.24 config/initializers/custom_validators.rb
sbdevcore-0.2.23 config/initializers/custom_validators.rb
sbdevcore-0.2.22 config/initializers/custom_validators.rb
sbdevcore-0.2.21 config/initializers/custom_validators.rb
sbdevcore-0.2.20 config/initializers/custom_validators.rb
sbdevcore-0.2.19 config/initializers/custom_validators.rb
sbdevcore-0.2.18 config/initializers/custom_validators.rb