> Faqs > Integración de captcha a un formulario que envía datos por GET en Laravel

Integración de captcha a un formulario que envía datos por GET en Laravel

Tengo un formulario en una página con Laravel, en el cual el usuario ingresa solo un dato y a partir de ese dato se le muestra un resultado que se extrae desde la base de datos.

El formulario se envía mediante el método GET simplemente, entonces al aplicar el tutorial tengo conflictos en la validación del formulario, ya que creo que solo puedo validar en métodos POST.

Al colocar la validación de Laravel en mi controlador no se muestra el formulario.

¿Podrías orientarme?

Respuestas

Efectivamente, el sistema integrado de validación en Laravel no admite GET como método de recepción de los datos, por lo que tendrás que validar de otra manera.

La idea es validar a mano, simplemente comprobando que tengas las entradas correctas, esto es perfectamente posible, simplemente usando PHP de toda la vida en el código de tu controlador.

Lo que no sé es si la librería captcha tiene alguna restricción para el uso de GET en vez de POST al recibir los datos, pero me figuro que no. Tendrías que usar el código PHP "nativo" para validar esta capcha, que también está explicado en el artículo del uso de no-captcha, en vez de la regla de validación que como has visto no se puede usar.

El código que creo que te resolvería esta comprobación del captcha sería este:

$captcha->verifyResponse($_GET['g-recaptcha-response'])

Eso lo puedes evaluar dentro de un condicional para saber si el captcha se resolvió correctamente. Espero que te sirva, ya nos contarás.

Julian
1147 49 87 46