Sha256: e5325ba007b0e8f16bac6e09d746a5703086d0f4910751d290eb07303f3a5654

Contents?: true

Size: 674 Bytes

Versions: 2

Compression:

Stored size: 674 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([prefix, message])
        end
      end

    private

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

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
govuk_design_system_formbuilder-1.2.6 lib/govuk_design_system_formbuilder/elements/error_message.rb
govuk_design_system_formbuilder-1.2.5 lib/govuk_design_system_formbuilder/elements/error_message.rb