Skip to content

Commit 6e645e8

Browse files
committed
Verificador reCAPTCHA actualizado
1 parent 5511b33 commit 6e645e8

File tree

5 files changed

+34
-21
lines changed

5 files changed

+34
-21
lines changed

app/Http/Controllers/ClientesController.php

+25-16
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,18 @@ class ClientesController extends Controller
1010
{
1111
public function CrearCliente(Request $request)
1212
{
13-
$recaptchaResponse = $request['g-recaptcha-response'];
14-
15-
if (!$recaptchaResponse) {
16-
return redirect()->back()->with('error', 'Por favor, completa el reCAPTCHA.');
17-
}
18-
19-
$response = Http::asForm()->post('https://www.google.com/recaptcha/api/siteverify', [
20-
'secret' => config('services.recaptcha.secret_key'),
21-
'response' => $recaptchaResponse,
22-
]);
23-
24-
$responseData = $response->json();
25-
26-
if (!$responseData['success']) {
27-
return redirect()->back()->with('error', '¡Pareces un bot! Por favor, intenta de nuevo.');
28-
}
13+
$this->validaCaptcha($request);
2914

3015
$request->validate([
3116
"name" => "required",
3217
"email" => "required",
3318
"phone" => "required",
19+
"g-recaptcha-response" => "required",
3420
], [
3521
'name.required' => 'El campo es requerido',
3622
'email.required' => 'El campo es requerido',
3723
'phone.unique' => 'El campo es requerido',
24+
"g-recaptcha-response" => "El campo es requerido",
3825
]);
3926

4027
$cliente = Clientes::create([
@@ -58,4 +45,26 @@ public function CrearCliente(Request $request)
5845

5946
return redirect()->route('inicio')->with('success', 'Listo!, en breve uno de nuestros asesores se pondrá en contacto!');
6047
}
48+
49+
private function validaCaptcha($request)
50+
{
51+
$recaptchaResponse = $request['g-recaptcha-response'];
52+
53+
if (!$recaptchaResponse) {
54+
return redirect()->back()->with('error', 'Por favor, completa el reCAPTCHA.');
55+
}
56+
57+
$response = Http::asForm()->post('https://www.google.com/recaptcha/api/siteverify', [
58+
'secret' => config('services.recaptcha.secret_key'),
59+
'response' => $recaptchaResponse,
60+
]);
61+
62+
$responseData = $response->json();
63+
64+
if (!$responseData['success']) {
65+
return redirect()->back()->with('error', '¡Pareces un bot! Por favor, intenta de nuevo.');
66+
}
67+
68+
return true;
69+
}
6170
}

resources/.DS_Store

6 KB
Binary file not shown.

resources/views/.DS_Store

6 KB
Binary file not shown.

resources/views/index.blade.php

+9-5
Original file line numberDiff line numberDiff line change
@@ -662,31 +662,31 @@ function gtag(){dataLayer.push(arguments);}
662662
</script>
663663

664664
<div class="form-group">
665-
<input type="text" name="name" id="name" autocomplete="off" required>
665+
<input type="text" name="name" id="name" value="{{old('name')}}" autocomplete="off" required>
666666
@error('name')
667667
<p class="text-red-500">{{ $message }}</p>
668668
@enderror
669669
<span>Nombre</span>
670670
</div>
671671
<!-- end form-group -->
672672
<div class="form-group">
673-
<input type="text" name="email" id="email" autocomplete="off" required>
673+
<input type="text" name="email" id="email" value="{{old('email')}}" autocomplete="off" required>
674674
@error('email')
675675
<p class="text-red-500">{{ $message }}</p>
676676
@enderror
677677
<span>Correo Electrónico</span>
678678
</div>
679679
<!-- end form-group -->
680680
<div class="form-group">
681-
<input type="text" name="phone" id="phone" autocomplete="off" required>
681+
<input type="text" name="phone" id="phone" value="{{old('phone')}}" autocomplete="off" required>
682682
@error('phone')
683683
<p class="text-red-500">{{ $message }}</p>
684684
@enderror
685685
<span>Whatsapp</span>
686686
</div>
687687
<!-- end form-group -->
688688
<div class="form-group">
689-
<textarea name="message" id="message" autocomplete="off"></textarea>
689+
<textarea name="message" id="message" autocomplete="off">{{old('message')}}</textarea>
690690
<span>Mensaje</span>
691691
</div>
692692
<!-- end form-group -->
@@ -695,8 +695,12 @@ function gtag(){dataLayer.push(arguments);}
695695
<div class="form-group">
696696

697697
<div class="g-recaptcha" data-sitekey="{{ config('services.recaptcha.site_key') }}" style="padding-bottom: 20px"></div>
698+
@error('g-recaptcha-response')
699+
<p style="color: red">{{ $message }}</p>
700+
@enderror
701+
<br/>
698702

699-
<button id="submit" type="submit" name="submit" disabled>
703+
<button id="submit" type="submit" name="submit">
700704
Enviar
701705
</button>
702706
</div>

resources/views/messages.zip

-2.39 KB
Binary file not shown.

0 commit comments

Comments
 (0)