Class: Effective::FormInputs::ErrorField

Inherits:
Effective::FormInput show all
Defined in:
app/models/effective/form_inputs/error_field.rb

Constant Summary

Constants inherited from Effective::FormInput

Effective::FormInput::BLANK, Effective::FormInput::DEFAULT_FEEDBACK_OPTIONS, Effective::FormInput::DEFAULT_INPUT_GROUP_OPTIONS, Effective::FormInput::EMPTY_HASH, Effective::FormInput::EXCLUSIVE_CLASS_PREFIXES, Effective::FormInput::EXCLUSIVE_CLASS_SUFFIXES, Effective::FormInput::HORIZONTAL_LABEL_OPTIONS, Effective::FormInput::HORIZONTAL_WRAPPER_OPTIONS, Effective::FormInput::INLINE_LABEL_OPTIONS, Effective::FormInput::VERTICAL_WRAPPER_OPTIONS

Instance Attribute Summary

Attributes inherited from Effective::FormInput

#name, #options

Instance Method Summary collapse

Methods inherited from Effective::FormInput

#feedback_options, #hint_options, #initialize, #input_group_options, #input_js_options, #label_options, #wrapper_options

Constructor Details

This class inherits a constructor from Effective::FormInput

Instance Method Details

#build_error_contentObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/models/effective/form_inputs/error_field.rb', line 24

def build_error_content
  include_name = include_name?

  content = (
    if name.blank?
      object.errors.full_messages.to_sentence
    elsif include_name?
      object.errors.full_messages_for(name).to_sentence
    else
      object.errors.messages[name].to_sentence
    end
  )

  (:div, content.html_safe, options[:input])
end

#input_html_optionsObject



7
8
9
# File 'app/models/effective/form_inputs/error_field.rb', line 7

def input_html_options
  { class: 'alert alert-danger', id: tag_id }
end

#to_html(&block) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/models/effective/form_inputs/error_field.rb', line 11

def to_html(&block)
  return nil unless has_error?(name)

  case layout
  when :horizontal
    build_wrapper do
      (:div, '', class: 'col-sm-2') + (:div, build_error_content, class: 'col-sm-10')
    end
  else
    (:div, build_error_content, class: 'form-group')
  end
end