ModelValidator object encapsulates all methods related to data validations for a model It also provides an API to dynamically change validation rules for each model field.
Implements ArrayAccess to easily modify rules as usually done with Model::$validate definition array
__construct( Model $Model )
Constructor
Model $Model _parseRules( )
Sets the CakeValidationSet objects from the Model::$validate property If Model::$validate is not set or empty, this method returns false. True otherwise.
booleanModel::$validate was processed, false otherwise_triggerBeforeValidate( array $options array() )
Propagates beforeValidate event
$options optional array() boolean_validateWithModels( array $options )
Runs validation for hasAndBelongsToMany associations that have 'with' keys set and data in the data set.
$options booleanModel::validates()_validationList( array $fieldList array() )
Processes the passed fieldList and returns the list of fields to be validated
$fieldList optional array() CakeValidationSet[]add( string $field , string|array|CakeValidationSet $name , array|CakeValidationRule $rule null )
Adds a new rule to a field's rule set. If second argument is an array or instance of CakeValidationSet then rules list for the field will be replaced with second argument and third argument will be ignored.
$validator ->add('title', 'required', array('rule' => 'notBlank', 'required' => true)) ->add('user_id', 'valid', array('rule' => 'numeric', 'message' => 'Invalid User')) $validator->add('password', array( 'size' => array('rule' => array('lengthBetween', 8, 20)), 'hasSpecialCharacter' => array('rule' => 'validateSpecialchar', 'message' => 'not valid') ));
$field CakeValidationSet $name CakeValidationRule $rule optional null selfcount( )
Returns the number of fields having validation rules
integerCountable::count() errors( string $options array() )
Returns an array of fields that have failed validation. On the current model. This method will actually run validation rules over data, not just return the messages.
$options optional array() arrayModelValidator::validates()getField( string $name null )
Returns a CakeValidationSet object containing all validation rules for a field, if no params are passed then it returns an array with all CakeValidationSet objects for each field
$name optional null CakeValidationSet|array|nullgetIterator( )
Returns an iterator for each of the fields to be validated
ArrayIteratorIteratorAggregate::getIterator() getMethods( )
Gets all possible custom methods from the Model and attached Behaviors to be used as validators
arrayinvalidate( string $field , string $message true )
Marks a field as invalid, optionally setting a message explaining why the rule failed
$field $message optional true offsetExists( string $field )
Returns whether a rule set is defined for a field or not
$field booleanArrayAccess::offsetExists() offsetGet( string $field )
Returns the rule set for a field
$field CakeValidationSetArrayAccess::offsetGet() offsetSet( string $field , array|CakeValidationSet $rules )
Sets the rule set for a field
$field CakeValidationSet $rules ArrayAccess::offsetSet() offsetUnset( string $field )
Unsets the rule set for a field
$field ArrayAccess::offsetUnset() remove( string $field , string $rule null )
Removes a rule from the set by its name
$validator ->remove('title', 'required') ->remove('user_id')
$field $rule optional null selfsetValidationDomain( string $validationDomain null )
Sets the I18n domain for validation messages. This method is chainable.
$validationDomain optional null selfvalidateAssociated( array $data , array $options array() )
Validates a single record, as well as all its directly associated records.
Warning: This method could potentially change the passed argument $data, If you do not want this to happen, make a copy of $data before passing it to this method
$data $options optional array() array|booleanvalidateMany( array $data , array $options array() )
Validates multiple individual records for a single model
Warning: This method could potentially change the passed argument $data, If you do not want this to happen, make a copy of $data before passing it to this method
$data $options optional array() mixedvalidates( array $options array() )
Returns true if all fields pass validation. Will validate hasAndBelongsToMany associations that use the 'with' key as well. Since Model::_saveMulti is incapable of exiting a save operation.
Will validate the currently set data. Use Model::set() or Model::create() to set the active data.
$options optional array() boolean
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/2.7/class-ModelValidator.html