PEAR Manual
Prev |  | Next

# ->validate()

->validate() -- check object data, and call objects validation methods.

## Synopsis

``array $DB_DataObject->validate` ()`

## Description

Check all the objects variables to see if they are valid, by default this means is a column an integer or string, if you define methods like validateEmail(), in your extended class then it will be called to validate the row called 'email'. This may be useful if called prior to an update or insert.., to generate error messages.

override this to set up your validation rules.

## Return value

`array` - of validation results or `TRUE`

## Note

This function can not be called statically.

the examples below utilize the PEAR validation package

## Example

Example 33-1. validate usage
    $person = new DataObjects_Person;
    $person->get(12);
    $person->setFrom($_POST['input']);
    $val = $person->validate();
    if ($val === TRUE) {
      $person->update();
    } else {
      foreach ($val as $k=>$v) {
        if ($v == false) {
          echo "There was something wrong with ($k)\n";
        } else {
          echo "($k) validated OK\n";
        }
      }
    }

Example 33-2. validate methods
    /* inside class DataObject_Person */
    function validateEmail() {
      return Validate::email($this->email, true);
    }

    function validateHomepage() {
      return Validate::url($this->homepage, true);
    }
    function validateDate() {
      return Validate::date($this->date, "%d-%m-%Y", array(01,01,1970), array(01,01,2030));

Prev | Home | Next
->toArray() | Up | ->tableName()