mirror of
https://github.com/pelican-dev/panel.git
synced 2025-06-20 07:11:07 +02:00
21 lines
598 B
PHP
21 lines
598 B
PHP
<?php
|
|
|
|
namespace App\Extensions\Captcha\Schemas\Turnstile;
|
|
|
|
use App\Extensions\Captcha\CaptchaProvider;
|
|
use Closure;
|
|
use Illuminate\Contracts\Validation\ValidationRule;
|
|
use Illuminate\Support\Facades\App;
|
|
|
|
class Rule implements ValidationRule
|
|
{
|
|
public function validate(string $attribute, mixed $value, Closure $fail): void
|
|
{
|
|
$response = App::call(fn (CaptchaProvider $provider) => $provider->getActiveSchema()->validateResponse($value));
|
|
|
|
if (!$response['success']) {
|
|
$fail($response['message'] ?? 'Unknown error occurred, please try again');
|
|
}
|
|
}
|
|
}
|