/** * Returns the validation errors for a data set based on the passed options * * @param array $data The data to validate. * @param array $options The options passed to this marshaller. * @param bool $isNew Whether it is a new entity or one to be updated. * @return array The list of validation errors. * @throws \RuntimeException If no validator can be created. */ protected function _validate($data, $options, $isNew) { if (!$options['validate']) { return []; } if ($options['validate'] === true) { $options['validate'] = $this->type->validator('default'); } if (is_string($options['validate'])) { $options['validate'] = $this->type->validator($options['validate']); } if (!is_object($options['validate'])) { throw new RuntimeException(sprintf('validate must be a boolean, a string or an object. Got %s.', gettype($options['validate']))); } return $options['validate']->errors($data, $isNew); }