diff options
author | msquare <msquare@notrademark.de> | 2019-10-13 13:43:08 +0200 |
---|---|---|
committer | msquare <msquare@notrademark.de> | 2019-10-13 13:43:08 +0200 |
commit | c0e97bfe753013b115345b00cbfd9858799a6ac9 (patch) | |
tree | 7e98447e4c7d874ec27e26801771086843f3efc3 /src/Http/Validation | |
parent | 285f5509dd948c2359c861eec364a677e8ce4910 (diff) | |
parent | 7a2427e70296ef652f76fe2e2edc47d2e0f70f5a (diff) |
Password recovery rebuild, correctly translated Mails and some minor fixes #658
Diffstat (limited to 'src/Http/Validation')
-rw-r--r-- | src/Http/Validation/Rules/Between.php | 10 | ||||
-rw-r--r-- | src/Http/Validation/Rules/Max.php | 10 | ||||
-rw-r--r-- | src/Http/Validation/Rules/Min.php | 10 | ||||
-rw-r--r-- | src/Http/Validation/Rules/StringInputLength.php | 44 |
4 files changed, 74 insertions, 0 deletions
diff --git a/src/Http/Validation/Rules/Between.php b/src/Http/Validation/Rules/Between.php new file mode 100644 index 00000000..106a93ac --- /dev/null +++ b/src/Http/Validation/Rules/Between.php @@ -0,0 +1,10 @@ +<?php + +namespace Engelsystem\Http\Validation\Rules; + +use Respect\Validation\Rules\Between as RespectBetween; + +class Between extends RespectBetween +{ + use StringInputLength; +} diff --git a/src/Http/Validation/Rules/Max.php b/src/Http/Validation/Rules/Max.php new file mode 100644 index 00000000..b1b2cfa3 --- /dev/null +++ b/src/Http/Validation/Rules/Max.php @@ -0,0 +1,10 @@ +<?php + +namespace Engelsystem\Http\Validation\Rules; + +use Respect\Validation\Rules\Max as RespectMax; + +class Max extends RespectMax +{ + use StringInputLength; +} diff --git a/src/Http/Validation/Rules/Min.php b/src/Http/Validation/Rules/Min.php new file mode 100644 index 00000000..ab8d4e1a --- /dev/null +++ b/src/Http/Validation/Rules/Min.php @@ -0,0 +1,10 @@ +<?php + +namespace Engelsystem\Http\Validation\Rules; + +use Respect\Validation\Rules\Min as RespectMin; + +class Min extends RespectMin +{ + use StringInputLength; +} diff --git a/src/Http/Validation/Rules/StringInputLength.php b/src/Http/Validation/Rules/StringInputLength.php new file mode 100644 index 00000000..7b5c248b --- /dev/null +++ b/src/Http/Validation/Rules/StringInputLength.php @@ -0,0 +1,44 @@ +<?php + +namespace Engelsystem\Http\Validation\Rules; + +use DateTime; +use Illuminate\Support\Str; +use Throwable; + +trait StringInputLength +{ + /** + * Use the input length of a string + * + * @param mixed $input + * @return bool + */ + public function validate($input): bool + { + if ( + is_string($input) + && !is_numeric($input) + && !$this->isDateTime($input) + ) { + $input = Str::length($input); + } + + return parent::validate($input); + } + + /** + * @param mixed $input + * @return bool + */ + protected function isDateTime($input): bool + { + try { + new DateTime($input); + } catch (Throwable $e) { + return false; + } + + return true; + } +} |