Module: ActiveResource::Validations

Module | ActiveResource::Validations
In: | lib/active_resource/validations.rb

Module to support validation and errors with Active Resource objects. The module overrides Base#save to rescue ActiveResource::ResourceInvalid exceptions and parse the errors returned in the web service response. The module also adds an `errors` collection that mimics the interface of the errors provided by ActiveRecord::Errors.

#### Example

Consider a Person resource on the server requiring both a `first_name` and a `last_name` with a `validates_presence_of :first_name, :last_name` declaration in the model:

      person = Person.new(:first_name => "Jim", :last_name => "")
      person.save                   # => false (server returns an HTTP 422 status code and errors)
      person.valid?                 # => false
      person.errors.empty?          # => false
      person.errors.count           # => 1
      person.errors.full_messages   # => ["Last name can't be empty"]
      person.errors.on(:last_name)  # => "can't be empty"
      person.last_name = "Halpert"
      person.save                   # => true (and person is now saved to the remote service)

### Methods

errors save_with_validation valid?

### Public Instance methods

errors()

Returns the Errors object that holds all information about attribute error messages.

save_with_validation()

Validate a resource and save (POST) it to the remote web service.

valid?()

Checks for errors on an object (i.e., is resource.errors empty?).

#### Examples

      my_person = Person.create(params[:person])
      my_person.valid?
      # => true

      my_person.errors.add('login', 'can not be empty') if my_person.login == ''
      my_person.valid?
      # => false

[Validate]