Sha256: a3271eb518b967d50b2c12980f50adfa90b10932d624341c063a9a72ccb20f16
Contents?: true
Size: 671 Bytes
Versions: 28
Compression:
Stored size: 671 Bytes
Contents
module Spree module Validations ## # Validates a field based on the maximum length of the underlying DB field, if there is one. class DbMaximumLengthValidator < ActiveModel::Validator def initialize(options) super @field = options[:field].to_s raise ArgumentError.new("a field must be specified to the validator") if @field.blank? end def validate(record) limit = record.class.columns_hash[@field].limit value = record[@field.to_sym] if value && limit && value.to_s.length > limit record.errors.add(@field.to_sym, :too_long, count: limit) end end end end end
Version data entries
28 entries across 28 versions & 1 rubygems