internetee-registry/app/validators/duration_iso8601_validator.rb
2014-12-22 13:54:20 +02:00

9 lines
317 B
Ruby

class DurationIso8601Validator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
return unless value.present?
ISO8601::Duration.new(value)
rescue => _e
record.errors[attribute] << (options[:message] || record.errors.generate_message(attribute, :unknown_pattern))
end
end