Sha256: 507511617b1b53dd6b9b41df37119989cf9963081b1e66e6356bf8865d4362ba

Contents?: true

Size: 451 Bytes

Versions: 21

Compression:

Stored size: 451 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")
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
govuk_content_models-28.2.0 app/validators/topic_validator.rb
govuk_content_models-28.1.0 app/validators/topic_validator.rb
govuk_content_models-28.0.1 app/validators/topic_validator.rb
govuk_content_models-28.0.0 app/validators/topic_validator.rb
govuk_content_models-27.2.0 app/validators/topic_validator.rb
govuk_content_models-27.1.0 app/validators/topic_validator.rb
govuk_content_models-27.0.0 app/validators/topic_validator.rb
govuk_content_models-26.2.0 app/validators/topic_validator.rb
govuk_content_models-26.1.0 app/validators/topic_validator.rb
govuk_content_models-26.0.0 app/validators/topic_validator.rb
govuk_content_models-25.0.0 app/validators/topic_validator.rb
govuk_content_models-24.2.0 app/validators/topic_validator.rb
govuk_content_models-24.1.0 app/validators/topic_validator.rb
govuk_content_models-24.0.1 app/validators/topic_validator.rb
govuk_content_models-24.0.0 app/validators/topic_validator.rb
govuk_content_models-23.0.0 app/validators/topic_validator.rb
govuk_content_models-22.2.0 app/validators/topic_validator.rb
govuk_content_models-22.1.2 app/validators/topic_validator.rb
govuk_content_models-22.1.1 app/validators/topic_validator.rb
govuk_content_models-22.1.0 app/validators/topic_validator.rb