zammad/app/models/setting/validator.rb
2026-01-02 15:41:09 +02:00

16 lines
521 B
Ruby

# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
class Setting::Validator < ActiveModel::Validator
def validate(record)
return if record.preferences.blank? || record.preferences[:validations].blank?
failed_validation = record.preferences[:validations]
.lazy
.map { |klass| klass.constantize.new(record).run }
.find { |elem| !elem[:success] }
return if !failed_validation
record.errors.add(:base, :invalid, message: failed_validation[:message])
end
end