Validate using the given method. The method given needs to return:
@example [Usage]
class Page property :zip_code, String validates_with_method :in_the_right_location? def in_the_right_location? if @zip_code == "94301" return true else return [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_method :zip_code, :in_the_right_location? # it will add returned error message to :zip_code field
# File lib/couchrest/validation/validators/method_validator.rb, line 82 def validates_with_method(*fields) opts = opts_from_validator_args(fields) add_validator_to_context(opts, fields, CouchRest::Validation::MethodValidator) end