Sha256: ac90941599c3642cfe9dc4e847b159d65c13539dc2ee118c0811bfea4739e42b

Contents?: true

Size: 698 Bytes

Versions: 4

Compression:

Stored size: 698 Bytes

Contents

module GOVUKDesignSystemFormBuilder
  module Elements
    class ErrorMessage < Base
      using PrefixableArray

      include Traits::Error

      def initialize(builder, object_name, attribute_name)
        super(builder, object_name, attribute_name)
      end

      def html
        return nil unless has_errors?

        content_tag('span', class: %(#{brand}-error-message), id: error_id) do
          safe_join([error_prefix, error_message])
        end
      end

    private

      def error_prefix
        tag.span('Error: ', class: %(#{brand}-visually-hidden))
      end

      def error_message
        @builder.object.errors.messages[@attribute_name]&.first
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
govuk_design_system_formbuilder-1.2.4 lib/govuk_design_system_formbuilder/elements/error_message.rb
govuk_design_system_formbuilder-1.2.3 lib/govuk_design_system_formbuilder/elements/error_message.rb
govuk_design_system_formbuilder-1.2.2 lib/govuk_design_system_formbuilder/elements/error_message.rb
govuk_design_system_formbuilder-1.2.1 lib/govuk_design_system_formbuilder/elements/error_message.rb