From e6f3ec75c533559500a723a2baffc6669db69b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Fri, 9 Feb 2024 11:44:45 +0100 Subject: [PATCH] Video validation add convenient validates --- app/Rules/IsValidVimeoId.php | 13 ++++++++++++- app/Rules/IsValidYoutubeId.php | 13 ++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/app/Rules/IsValidVimeoId.php b/app/Rules/IsValidVimeoId.php index ef4d04b..4a91da6 100644 --- a/app/Rules/IsValidVimeoId.php +++ b/app/Rules/IsValidVimeoId.php @@ -25,8 +25,19 @@ class IsValidVimeoId implements ValidationRule public function validate(string $attribute, mixed $value, \Closure $fail): void { // phpcs:enable - if (!Str::of($value)->isMatch('/^[0-9]{8,10}$/')) { + if (!self::validates($value)) { $fail(trans('validation.vimeo_id')); } } + + /** + * Validate a value + * + * @param mixed $value + * @return boolean + */ + public static function validates(mixed $value): bool + { + return Str::of($value)->isMatch('/^[0-9]{8,10}$/'); + } } diff --git a/app/Rules/IsValidYoutubeId.php b/app/Rules/IsValidYoutubeId.php index 65c98ad..1a41009 100644 --- a/app/Rules/IsValidYoutubeId.php +++ b/app/Rules/IsValidYoutubeId.php @@ -26,8 +26,19 @@ class IsValidYoutubeId implements ValidationRule public function validate(string $attribute, mixed $value, \Closure $fail): void { // phpcs:enable - if (!Str::of($value)->isMatch('/^[0-9A-Za-z_-]{10}[048AEIMQUYcgkosw]$/')) { + if (!self::validates($value)) { $fail(trans('validation.youtube_id')); } } + + /** + * Validate a value + * + * @param mixed $value + * @return boolean + */ + public static function validates(mixed $value): bool + { + return Str::of($value)->isMatch('/^[0-9A-Za-z_-]{10}[048AEIMQUYcgkosw]$/'); + } }