Module DataMapper::Validations::ValidatesWithBlock
In: lib/dm-validations/validators/block_validator.rb

@author teamon @since 0.9

Methods

Public Instance methods

Validate using the given block. The block given needs to return: [result::<Boolean>, Error Message::<String>]

@example [Usage]

  require 'dm-validations'

  class Page
    include DataMapper::Resource

    property :zip_code, String

    validates_with_block do
      if @zip_code == "94301"
        true
      else
        [false, "You're in the wrong zip code"]
      end
    end

    # A call to valid? will return false and
    # populate the object's errors with "You're in the
    # wrong zip code" unless zip_code == "94301"

    # You can also specify field:

    validates_with_block :zip_code do
      if @zip_code == "94301"
        true
      else
        [false, "You're in the wrong zip code"]
      end
    end

    # it will add returned error message to :zip_code field

[Validate]