diff --git a/app/Classes/Settings/Misc.php b/app/Classes/Settings/Misc.php index 30c4b848..1b67b562 100644 --- a/app/Classes/Settings/Misc.php +++ b/app/Classes/Settings/Misc.php @@ -45,6 +45,14 @@ class Misc 'ticket_enabled' => 'nullable|string', ]); + $validator->after(function ($validator) use ($request) { + // if enable-recaptcha is true then recaptcha-site-key and recaptcha-secret-key must be set + if ($request->get('enable-recaptcha') == 'true' && (!$request->get('recaptcha-site-key') || !$request->get('recaptcha-secret-key'))) { + $validator->errors()->add('recaptcha-site-key', 'The site key is required if recaptcha is enabled.'); + $validator->errors()->add('recaptcha-secret-key', 'The secret key is required if recaptcha is enabled.'); + } + }); + if ($validator->fails()) { return redirect(route('admin.settings.index') . '#misc')->with('error', __('Misc settings have not been updated!'))->withErrors($validator) ->withInput(); diff --git a/resources/views/admin/settings/tabs/misc.blade.php b/resources/views/admin/settings/tabs/misc.blade.php index 70b30839..8e0a4670 100644 --- a/resources/views/admin/settings/tabs/misc.blade.php +++ b/resources/views/admin/settings/tabs/misc.blade.php @@ -172,6 +172,11 @@ + @error('recaptcha-site-key') +
+ {{$message}} +
+ @enderror @@ -181,6 +186,11 @@ + @error('recaptcha-secret-key') +
+ {{$message}} +
+ @enderror