Sha256: 44d1fb304fe0f1530696a18ea22702256c43722c220e6ab7d5545ff873d6b265

Contents?: true

Size: 808 Bytes

Versions: 2

Compression:

Stored size: 808 Bytes

Contents

require_relative 'validations/nested'
require_relative 'validations/associated'

module Granite
  module Form
    module Model
      module Validations
        extend ActiveSupport::Concern
        include ActiveModel::Validations

        included do
          extend HelperMethods
          include HelperMethods

          alias_method :validate, :valid?
        end

        class_methods do
          def validates_presence?(attr)
            _validators[attr.to_sym].grep(ActiveModel::Validations::PresenceValidator).present?
          end
        end

        def validate!(context = nil)
          valid?(context) || raise_validation_error
        end

        protected

        def raise_validation_error
          raise Granite::Form::ValidationError, self
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
granite-form-0.6.1 lib/granite/form/model/validations.rb
granite-form-0.6.0 lib/granite/form/model/validations.rb