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



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/crm/helpers/validators/crm_multienum_validator.rb', line 7

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