heartcombo--simple_form/lib/simple_form/helpers/required.rb

36 lines
847 B
Ruby
Raw Normal View History

module SimpleForm
module Helpers
module Required
2011-09-03 10:28:12 +00:00
# Whether this input is valid for HTML 5 required attribute.
def has_required?
attribute_required? && SimpleForm.html5 && SimpleForm.browser_validations
2011-09-03 10:28:12 +00:00
end
private
def attribute_required?
@required
end
def calculate_required
if !options[:required].nil?
options[:required]
elsif has_validators?
(attribute_validators + reflection_validators).any? do |v|
v.kind == :presence && valid_validator?(v)
end
else
attribute_required_by_default?
end
end
def attribute_required_by_default?
SimpleForm.required_by_default
end
def required_class
attribute_required? ? :required : :optional
end
end
end
end