Sha256: fca32c7076985aaa5c8d7f5ab062fd81a0c118bc4387dcb0d9cc28818d68533d
Contents?: true
Size: 670 Bytes
Versions: 43
Compression:
Stored size: 670 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
43 entries across 43 versions & 1 rubygems