protected function filterData(array &$data, array $schema, Validation &$validation, $path = '')
{
foreach ($data as $key => $val) {
if (array_key_exists($key, $schema)) {
continue;
}
$errorMessage = sprintft('Unexpected parameter: %1$s.', $path . $key);
switch ($this->validationBehavior) {
case self::VALIDATE_EXCEPTION:
$validation->addError('unexpected_parameter', $key, ['parameter' => $key, 'message' => $errorMessage, 'status' => 500]);
continue;
case self::VALIDATE_NOTICE:
trigger_error($errorMessage, E_USER_NOTICE);
case self::VALIDATE_REMOVE:
default:
unset($data[$key]);
}
}
return $this;
}