lithium\util\Validator::_checkFormats()
Perform validation checks against a value using an array of all possible formats for a rule, and an array specifying which formats within the rule to use.
Parameters
-
array
$rules
All available rules.
Returns
\ClosureFunction returning boolean true
if validation succeeded, false
otherwise.
Source
protected static function _checkFormats($rules) {
return function($params) use ($rules) {
$value = $params['value'];
$format = $params['format'];
$options = $params['options'];
$defaults = ['all' => true];
$options += $defaults;
$formats = (array) $format;
$options['all'] = ($format === 'any');
foreach ($rules as $index => $check) {
if (!$options['all'] && !(in_array($index, $formats) || isset($formats[$index]))) {
continue;
}
$regexPassed = (is_string($check) && preg_match($check, $value));
$closurePassed = (is_object($check) && $check($value, $format, $options));
if ($regexPassed || $closurePassed) {
return true;
}
}
return false;
};
}