Module Validatable
In: lib/data_mapper/validatable_extensions/errors.rb
lib/data_mapper/validatable_extensions/macros.rb
lib/data_mapper/validatable_extensions/validatable_instance_methods.rb
lib/data_mapper/validatable_extensions/validation_base.rb
lib/data_mapper/validatable_extensions/validations/formats/email.rb
lib/data_mapper/validatable_extensions/validations/validates_acceptance_of.rb
lib/data_mapper/validatable_extensions/validations/validates_confirmation_of.rb
lib/data_mapper/validatable_extensions/validations/validates_each.rb
lib/data_mapper/validatable_extensions/validations/validates_format_of.rb
lib/data_mapper/validatable_extensions/validations/validates_length_of.rb
lib/data_mapper/validatable_extensions/validations/validates_numericality_of.rb
lib/data_mapper/validatable_extensions/validations/validates_presence_of.rb
lib/data_mapper/validatable_extensions/validations/validates_true_for.rb
lib/data_mapper/validatable_extensions/validations/validates_uniqueness_of.rb
lib/data_mapper/validatable_extensions/errors.rb
lib/data_mapper/validatable_extensions/macros.rb
lib/data_mapper/validatable_extensions/validatable_instance_methods.rb
lib/data_mapper/validatable_extensions/validation_base.rb
lib/data_mapper/validatable_extensions/validations/formats/email.rb
lib/data_mapper/validatable_extensions/validations/validates_acceptance_of.rb
lib/data_mapper/validatable_extensions/validations/validates_confirmation_of.rb
lib/data_mapper/validatable_extensions/validations/validates_each.rb
lib/data_mapper/validatable_extensions/validations/validates_format_of.rb
lib/data_mapper/validatable_extensions/validations/validates_length_of.rb
lib/data_mapper/validatable_extensions/validations/validates_numericality_of.rb
lib/data_mapper/validatable_extensions/validations/validates_presence_of.rb
lib/data_mapper/validatable_extensions/validations/validates_true_for.rb
lib/data_mapper/validatable_extensions/validations/validates_uniqueness_of.rb

Validations

DataMapper uses the ‘Validatable’ gem to validate models.

Example:

  class Person < DataMapper::Base
    property :name, :string
    property :email, :string
    property :password, :string

    validates_presence_of :name, :email
    validates_length_of :password, :minimum => 6, :on => :create
    validates_format_of :email, :with => :email_address, :message => 'Please provide a valid email address.'
  end

  p = Person.new
  p.valid? #=> false
  p.errors.full_messages #=> ["Email must not be blank", "Please provide a valid email address.", "Name must not be blank"]

  p.save #=> false
  p.errors.full_messages #=> ["Password must be more than 5 characters long", "Email must not be blank",
                                 "Please provide a valid email address.", "Name must not be blank"]

Methods

Classes and Modules

Module Validatable::Macros
Class Validatable::Errors
Class Validatable::ValidatesAcceptanceOf
Class Validatable::ValidatesConfirmationOf
Class Validatable::ValidatesEach
Class Validatable::ValidatesFormatOf
Class Validatable::ValidatesLengthOf
Class Validatable::ValidatesNumericalityOf
Class Validatable::ValidatesPresenceOf
Class Validatable::ValidatesTrueFor
Class Validatable::ValidatesUniquenessOf
Class Validatable::ValidationBase

External Aliases

valid? -> valid_in_all_cases?

Public Instance methods

Returns true if no errors were added otherwise false. Only executes validations that have no :groups option specified

[Source]

    # File lib/data_mapper/validatable_extensions/validatable_instance_methods.rb, line 29
29:   def valid?(event = :validate)
30:     validate_recursively(event, Set.new)
31:   end

Returns true if no errors were added otherwise false. Only executes validations that have no :groups option specified

[Source]

    # File lib/data_mapper/validatable_extensions/validatable_instance_methods.rb, line 29
29:   def valid?(event = :validate)
30:     validate_recursively(event, Set.new)
31:   end
valid_in_all_cases?(event = :validate)

Alias for valid?

[Validate]