Browse Source

feat: ✨ Added Validation rules for recaptcha credentials

IceToast 2 years ago
parent
commit
40e927db97
2 changed files with 18 additions and 0 deletions
  1. 8 0
      app/Classes/Settings/Misc.php
  2. 10 0
      resources/views/admin/settings/tabs/misc.blade.php

+ 8 - 0
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();

+ 10 - 0
resources/views/admin/settings/tabs/misc.blade.php

@@ -172,6 +172,11 @@
                         <input x-model="recaptcha-site-key" id="recaptcha-site-key" name="recaptcha-site-key"
                             type="text" value="{{ config('SETTINGS::RECAPTCHA:SITE_KEY') }}"
                             class="form-control @error('recaptcha-site-key') is-invalid @enderror">
+                        @error('recaptcha-site-key')
+                                <div class="text-danger">
+                                    {{$message}}
+                                </div>
+                        @enderror
                     </div>
                 </div>
 
@@ -181,6 +186,11 @@
                         <input x-model="recaptcha-secret-key" id="recaptcha-secret-key" name="recaptcha-secret-key"
                             type="text" value="{{ config('SETTINGS::RECAPTCHA:SECRET_KEY') }}"
                             class="form-control @error('recaptcha-secret-key') is-invalid @enderror">
+                        @error('recaptcha-secret-key')
+                            <div class="text-danger">
+                                {{$message}}
+                            </div>
+                         @enderror
                     </div>
                 </div>
             </div>