Class: Crm::Helpers::Validators::CrmMultienumValidator

Inherits:
CrmEachValidator
  • Object
show all
Defined in:
lib/crm/helpers/validators/crm_multienum_validator.rb

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, values) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/crm/helpers/validators/crm_multienum_validator.rb', line 5

def validate_each(record, attribute, values)
  return unless a_multienum?(record, attribute, values)

  definition = crm_attribute_definition(record, attribute)
  valid_values = definition['valid_values']

  invalid_values = values.reject { |value| value.in?(valid_values) }
  return if invalid_values.blank?

  message = I18n.t('activerecord.errors.messages.cannot_contain_values', values: invalid_values.join(', '))
  record.errors.add(attribute, message)
end