Class: TranslatedEtiquetteValidator

Inherits:
EtiquetteValidator show all
Defined in:
app/validators/translated_etiquette_validator.rb

Overview

This validator takes care of i18n fields ensuring the validated content is respectful, does not use caps, and overall is meaningful.

validates :my_i18n_field, translated_etiquette: true

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, _value) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/validators/translated_etiquette_validator.rb', line 8

def validate_each(record, attribute, _value)
  return unless Decidim.enable_etiquette_validator

  translated_attr = "#{attribute}_#{default_locale_for(record)}".gsub("-", "__")
  translated_value = record.send(translated_attr)
  return if translated_value.blank?

  text_value = strip_tags(translated_value)

  validate_empty(record, translated_attr, text_value)
  validate_caps(record, translated_attr, text_value)
  validate_marks(record, translated_attr, text_value)
  validate_caps_first(record, translated_attr, text_value)
end