Sha256: cf1f46bfb44bc91de6e8c749b1de7ccab30a63a080295689160828879a0cc5b5

Contents?: true

Size: 707 Bytes

Versions: 1

Compression:

Stored size: 707 Bytes

Contents

module HungryForm
  module Elements
    class CheckboxField < Base::ActiveElement
      def set_value
        self.value = resolver.params[name] || attributes.delete(:value) || 0

        if value.to_i == 0
          attributes.delete(:checked)
        else
          self.value = 1
          self.attributes[:checked] = true
        end
      end

      def checked?
        !!attributes[:checked]
      end

      # Overriding the Validator methods
      module Validator
        def self.required(element, rule)
          if rule.respond_to? :call
            rule.call(element)
          else
            'is required' if element.value == 0 && rule
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hungryform-0.0.11 lib/hungryform/elements/checkbox_field.rb