Class Details

Manages validations for a Model.

This class isn't meant to be directly used. Instead you define validators thru static variables in your Model. Example:

 class Person extends ActiveRecord\Model {
   static $validates_length_of = array(
     array('name', 'within' => array(30,100),
     array('state', 'is' => 2)
   );
 }

 $person = new Person();
 $person->name = 'Tito';
 $person->state = 'this is not two characters';

 if (!$person->is_valid())
   print_r($person->errors);

	


Class Methods

public Validations __construct ( Model $model )

Constructs a Validations object.

  • Model $model - The model to validate
public void get_record ( )
public array rules ( )

Returns validator data.

public Errors validate ( )

Runs the validators.

  • return: the validation errors if any
public void validates_exclusion_of ( array $attrs )

This is the opposite of validates_include_of.

  • array $attrs - Validation definition

Available options:

  • in/within: attribute should/shouldn't be a value within an array
  • message: custome error message
  • allow_blank: allow blank strings
  • allow_null: allow null strings

public void validates_format_of ( array $attrs )

Validates that a value is matches a regex.

  • array $attrs - Validation definition

 class Person extends ActiveRecord\Model {
   static $validates_format_of = array(
     array('email', 'with' => '/^.*?@.*$/')
   );
 }

	

Available options:

  • with: a regular expression
  • message: custom error message
  • allow_blank: allow blank strings
  • allow_null: allow null strings

public void validates_inclusion_of ( array $attrs )

Validates that a value is included the specified array.

  • array $attrs - Validation definition

 class Car extends ActiveRecord\Model {
   static $validates_inclusion_of = array(
     array('fuel_type', 'in' => array('hyrdogen', 'petroleum', 'electric')),
   );
 }

	

Available options:

  • in/within: attribute should/shouldn't be a value within an array
  • message: custome error message
  • allow_blank: allow blank strings
  • allow_null: allow null strings

public void validates_inclusion_or_exclusion_of ( string $type , $attrs $attrs )

Validates that a value is in or out of a specified list of values.

  • string $type - Either inclusion or exclusion
  • $attrs $attrs - Validation definition

Available options:

  • in/within: attribute should/shouldn't be a value within an array
  • message: custome error message
  • allow_blank: allow blank strings
  • allow_null: allow null strings

public void validates_length_of ( array $attrs )

Validates the length of a value.

  • array $attrs - Validation definition

 class Person extends ActiveRecord\Model {
   static $validates_length_of = array(
     array('name', 'within' => array(1,50))
   );
 }

	

Available options:

  • is: attribute should be exactly n characters long
  • in/within: attribute should be within an range array(min,max)
  • maximum/minimum: attribute should not be above/below respectively
  • message: custome error message
  • allow_blank: allow blank strings
  • allow_null: allow null strings. (Even if this is set to false, a null string is always shorter than a maximum value.)

public void validates_numericality_of ( array $attrs )

Validates that a value is numeric.

  • array $attrs - Validation definition

 class Person extends ActiveRecord\Model {
   static $validates_numericality_of = array(
     array('salary', 'greater_than' => 19.99, 'less_than' => 99.99)
   );
 }

	

Available options:

  • only_integer: value must be an integer (e.g. not a float)
  • even: must be even
  • odd: must be odd"
  • greater_than: must be greater than specified number
  • greater_than_or_equal_to: must be greater than or equal to specified number
  • equal_to: ...
  • less_than: ...
  • less_than_or_equal_to: ...
  • allow_blank: allow blank strings
  • allow_null: allow null strings

public void validates_presence_of ( array $attrs )

Validates a field is not null and not blank.

  • array $attrs - Validation definition

 class Person extends ActiveRecord\Model {
   static $validates_presence_of = array(
     array('first_name'),
     array('last_name')
   );
 }

	

Available options:

  • message: custom error message
  • allow_blank: allow blank strings
  • allow_null: allow null strings

public void validates_size_of ( array $attrs )

Alias of validates_length_of

  • array $attrs - Validation definition
public void validates_uniqueness_of ( array $attrs )

Validates the uniqueness of a value.

  • array $attrs - Validation definition

 class Person extends ActiveRecord\Model {
   static $validates_uniqueness_of = array(
     array('name'),
     array(array('blah','bleh'), 'message' => 'blech')
   );
 }

	

Available options:

  • with: a regular expression
  • message: custom error message
  • allow_blank: allow blank strings
  • allow_null: allow null strings