module SimpleForm::Components::Errors
def error(wrapper_options = nil)
def error(wrapper_options = nil) error_text if has_errors? end
def error_method
def error_method options[:error_method] || SimpleForm.error_method end
def error_text
def error_text text = has_custom_error? ? options[:error] : errors.send(error_method) "#{html_escape(options[:error_prefix])} #{html_escape(text)}".lstrip.html_safe end
def errors
def errors @errors ||= (errors_on_attribute + errors_on_association).compact end
def errors_on_association
def errors_on_association reflection ? object.errors[reflection.name] : [] end
def errors_on_attribute
def errors_on_attribute object.errors[attribute_name] || [] end
def full_error(wrapper_options = nil)
def full_error(wrapper_options = nil) full_error_text if options[:error] != false && has_errors? end
def full_error_text
def full_error_text has_custom_error? ? options[:error] : full_errors.send(error_method) end
def full_errors
def full_errors @full_errors ||= (full_errors_on_attribute + full_errors_on_association).compact end
def full_errors_on_association
def full_errors_on_association reflection ? object.errors.full_messages_for(reflection.name) : [] end
def full_errors_on_attribute
def full_errors_on_attribute object.errors.full_messages_for(attribute_name) end
def has_custom_error?
def has_custom_error? options[:error].is_a?(String) end
def has_errors?
def has_errors? object_with_errors? || object.nil? && has_custom_error? end
def has_value?
def has_value? object && object.respond_to?(attribute_name) && object.send(attribute_name).present? end
def object_with_errors?
def object_with_errors? object && object.respond_to?(:errors) && errors.present? end
def valid?
def valid? !has_errors? && has_value? end