Sha256: 5c9d4c3321edef37c17f8ef703d46696ce39cc9ba3e9d8ad18c387a7df3dcb4f

Contents?: true

Size: 561 Bytes

Versions: 14

Compression:

Stored size: 561 Bytes

Contents

##
# Validates a field based on the maximum length of the underlying DB field, if there is one.
class DbMaximumLengthValidator < ActiveModel::EachValidator
  def validate_each(record, attribute, value)
    if defined?(Globalize)
      limit = record.class.translation_class.columns_hash[attribute.to_s].limit
    else
      limit = record.class.columns_hash[attribute.to_s].limit
    end
    value = record[attribute.to_sym]
    if value && limit && value.to_s.length > limit
      record.errors.add(attribute.to_sym, :too_long, count: limit)
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
goca-spree-core-3.1.14.rails.5.0.1 app/validators/db_maximum_length_validator.rb
spree_core-3.2.9 app/validators/db_maximum_length_validator.rb
spree_core-3.3.6 app/validators/db_maximum_length_validator.rb
spree_core-3.2.8 app/validators/db_maximum_length_validator.rb
spree_core-3.3.5 app/validators/db_maximum_length_validator.rb
spree_core-3.3.4 app/validators/db_maximum_length_validator.rb
spree_core-3.3.3 app/validators/db_maximum_length_validator.rb
spree_core-3.3.2 app/validators/db_maximum_length_validator.rb
spree_core-3.3.1 app/validators/db_maximum_length_validator.rb
spree_core-3.3.0 app/validators/db_maximum_length_validator.rb
spree_core-3.3.0.rc4 app/validators/db_maximum_length_validator.rb
spree_core-3.3.0.rc3 app/validators/db_maximum_length_validator.rb
spree_core-3.3.0.rc2 app/validators/db_maximum_length_validator.rb
spree_core-3.3.0.rc1 app/validators/db_maximum_length_validator.rb