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