Sha256: 96141bda9a325a9d9d9f27597dd1fc3e012d891b143541346565469d1569206d
Contents?: true
Size: 1.22 KB
Versions: 3
Compression:
Stored size: 1.22 KB
Contents
# frozen_string_literal: true module Decidim module ParticipatoryDocuments class SuggestionForm < Decidim::Form include Decidim::AttachmentAttributes include Decidim::HasUploadValidations attribute :body, String attribute :file validate :validate_single_field_presence validate :validate_body_length private def validate_body_length return if body.blank? errors.add(:body, I18n.t("activemodel.errors.models.suggestion.attributes.too_short", min_length: min_length)) if body.length < min_length errors.add(:body, I18n.t("activemodel.errors.models.suggestion.attributes.too_long", max_length: max_length)) if body.length > max_length end def validate_single_field_presence return unless body.blank? && file.blank? errors.add(:body, I18n.t("activemodel.errors.models.suggestion.attributes.not_blank")) end def min_length current_component.settings.min_suggestion_length || Decidim::ParticipatoryDocuments.config.min_suggestion_length end def max_length current_component.settings.max_suggestion_length || Decidim::ParticipatoryDocuments.config.max_suggestion_length end end end end
Version data entries
3 entries across 3 versions & 1 rubygems