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

36 lines
797 B
Ruby
Raw Normal View History

module SimpleForm
module Helpers
module Required
private
2011-12-04 12:00:39 +00:00
def required_field?
@required
end
def calculate_required
if !options[:required].nil?
options[:required]
elsif has_validators?
required_by_validators?
else
2011-12-04 12:00:39 +00:00
required_by_default?
end
end
def required_by_validators?
(attribute_validators + reflection_validators).any? { |v| v.kind == :presence && valid_validator?(v) }
end
2011-12-04 12:00:39 +00:00
def required_by_default?
SimpleForm.required_by_default
end
2011-12-04 12:00:39 +00:00
# Do not use has_required? because we want to add the class
2011-12-10 17:55:27 +00:00
# regardless of the required option.
def required_class
2011-12-04 12:00:39 +00:00
required_field? ? :required : :optional
end
end
end
2011-12-10 17:55:27 +00:00
end