Sha256: f9dc6ade5029fa916d0448c81060e440d1ea2d04febccd88347a52d290b10982
Contents?: true
Size: 811 Bytes
Versions: 2
Compression:
Stored size: 811 Bytes
Contents
# frozen_string_literal: true module Phlexi module Form module FieldOptions module Required def required? options[:required] = options.fetch(:required) { calculate_required } end def required!(required = true) options[:required] = required self end private def calculate_required if has_validators? required_by_validators? else required_by_default? end end def required_by_validators? (attribute_validators + reflection_validators).any? { |v| v.kind == :presence && valid_validator?(v) } end def required_by_default? # TODO: get this from configuration false end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
phlexi-form-0.3.0.rc1 | lib/phlexi/form/field_options/required.rb |
phlexi-form-0.2.0 | lib/phlexi/form/field_options/required.rb |