summaryrefslogtreecommitdiff
path: root/src/Http/Validation/ValidatesRequest.php
diff options
context:
space:
mode:
authorIgor Scheller <igor.scheller@igorshp.de>2019-07-21 13:42:19 +0200
committerGitHub <noreply@github.com>2019-07-21 13:42:19 +0200
commit43fa21f6553bb9e46f00d0768eab56e74c842bb4 (patch)
tree00df255fcd7c3777855bee27967117440c4add8c /src/Http/Validation/ValidatesRequest.php
parent4f60daa29568a43ab1da761d89124308dc7b37e7 (diff)
parent1e16f4c47ec15ffea41e1fa612d205b8db2a16d1 (diff)
Merge branch 'master' into docker
Diffstat (limited to 'src/Http/Validation/ValidatesRequest.php')
-rw-r--r--src/Http/Validation/ValidatesRequest.php37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/Http/Validation/ValidatesRequest.php b/src/Http/Validation/ValidatesRequest.php
new file mode 100644
index 00000000..33ff76af
--- /dev/null
+++ b/src/Http/Validation/ValidatesRequest.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace Engelsystem\Http\Validation;
+
+use Engelsystem\Http\Exceptions\ValidationException;
+use Engelsystem\Http\Request;
+
+trait ValidatesRequest
+{
+ /** @var Validator */
+ protected $validator;
+
+ /**
+ * @param Request $request
+ * @param array $rules
+ * @return array
+ */
+ protected function validate(Request $request, array $rules)
+ {
+ if (!$this->validator->validate(
+ (array)$request->getParsedBody(),
+ $rules
+ )) {
+ throw new ValidationException($this->validator);
+ }
+
+ return $this->validator->getData();
+ }
+
+ /**
+ * @param Validator $validator
+ */
+ public function setValidator(Validator $validator)
+ {
+ $this->validator = $validator;
+ }
+}