diff --git a/src/Exceptions/ValidationException.php b/src/Exceptions/ValidationException.php index 8265548..7fa0295 100644 --- a/src/Exceptions/ValidationException.php +++ b/src/Exceptions/ValidationException.php @@ -4,8 +4,6 @@ namespace Daycry\RestFul\Exceptions; -use RuntimeException; - class ValidationException extends RuntimeException { public static function validationtMethodParamsError($param) @@ -13,4 +11,9 @@ public static function validationtMethodParamsError($param) $parser = \Config\Services::parser(); return new self($parser->setData(array( 'param' => $param ))->renderString(lang('RestFul.invalidParamsForMethod'))); } + + public static function validationData() + { + return new self(''); + } } diff --git a/src/RestFul.php b/src/RestFul.php index 5b453f4..4a7019a 100644 --- a/src/RestFul.php +++ b/src/RestFul.php @@ -5,7 +5,6 @@ use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; -use CodeIgniter\Validation\ValidationInterface; use Config\Services; use Config\Validation; use CodeIgniter\Router\Router; @@ -150,25 +149,25 @@ public function __destruct() protected function validation(string $rules, $data = null, ?Validation $config = null, bool $getShared = true, bool $filter = false) { - $config ??= config('Validation'); - $data ??= $this->content; - - $this->validator = Services::validation($config, $getShared); - - $content = json_decode(json_encode($data), true); - if (!$this->validator->run($content, $rules)) { - throw new ValidationException(); - } - - if ($filter) { - if ($data) { - foreach ($data as $key => $value) { - if (!array_key_exists($key, $config->{$rules})) { - throw ValidationException::validationtMethodParamsError($key); - } - } - } - } + $config ??= config('Validation'); + $data ??= $this->content; + + $this->validator = Services::validation($config, $getShared); + + $content = json_decode(json_encode($data), true); + if (!$this->validator->run($content, $rules)) { + throw ValidationException::validationData(); + } + + if ($filter) { + if ($data) { + foreach ($data as $key => $value) { + if (!array_key_exists($key, $config->{$rules})) { + throw ValidationException::validationtMethodParamsError($key); + } + } + } + } } /**