Sha256: 9ce2e1e811ae45ff12824ab9c69c853ac4886a609448a9e6cdfdf94f9c870e26

Contents?: true

Size: 556 Bytes

Versions: 41

Compression:

Stored size: 556 Bytes

Contents

class TopicValidator < ActiveModel::Validator
  def validate(record)
    if (additional_topics = record.additional_topics)
      if additional_topics.uniq.count < additional_topics.count
        record.errors.add(:additional_topics, "can't have duplicates")
      end

      if additional_topics.include?(record.primary_topic)
        record.errors.add(:base, "You can't have the primary topic set as an additional topic")
        record.errors.add(:additional_topics, "can't have the primary topic set as an additional topic")
      end
    end
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
govuk_content_models-41.1.1 app/validators/topic_validator.rb
govuk_content_models-41.1.0 app/validators/topic_validator.rb
govuk_content_models-41.0.0 app/validators/topic_validator.rb
govuk_content_models-40.0.0 app/validators/topic_validator.rb
govuk_content_models-39.0.0 app/validators/topic_validator.rb
govuk_content_models-38.0.0 app/validators/topic_validator.rb
govuk_content_models-37.0.0 app/validators/topic_validator.rb
govuk_content_models-36.0.0 app/validators/topic_validator.rb
govuk_content_models-35.0.1 app/validators/topic_validator.rb
govuk_content_models-35.0.0 app/validators/topic_validator.rb
govuk_content_models-34.0.0 app/validators/topic_validator.rb
govuk_content_models-33.0.0 app/validators/topic_validator.rb
govuk_content_models-32.3.1 app/validators/topic_validator.rb
govuk_content_models-32.3.0 app/validators/topic_validator.rb
govuk_content_models-32.2.0 app/validators/topic_validator.rb
govuk_content_models-32.1.0 app/validators/topic_validator.rb
govuk_content_models-32.0.0 app/validators/topic_validator.rb
govuk_content_models-31.4.0 app/validators/topic_validator.rb
govuk_content_models-31.3.0 app/validators/topic_validator.rb
govuk_content_models-31.2.2 app/validators/topic_validator.rb