Laravel 8: ответ Google Recaptcha не отображается в форме входа

Я хочу использовать систему Google Recaptcha для своей формы входа, поэтому после предоставления GOOGLE_RECAPTCHA_SITE_KEY и GOOGLE_RECAPTCHA_SECRET_KEY от Google я добавил их в свой файл .env.

Затем я добавил этот метод в LoginController.php:

protected function validateLogin(Request $request)
{
    $request->validate([
        $this->username() => 'required|string',
        'password' => 'required|string',
        'g-recaptcha-response' => ['required', new Recaptcha]
    ]);
}

И после этого включая скрипт рекапчи я добавил в login.blade.php это:

<div class="form-group col-md-8 offset-md-4 mb-3">
     <div class="g-recaptcha" data-sitekey="{{ env('GOOGLE_RECAPTCHA_SITE_KEY') }}"></div>
     @error('g-recaptcha-response')
         <span class="invalid-feedback" role="alert">
              <strong>{{ $message }}</strong>
         </span>
     @enderror
</div>

Итак, как вы можете видеть, он должен показывать мне сообщение об ошибке, когда я оставляю поле recaptcha пустым, что-то вроде Поле g-recaptcha-response требуется. но почему-то этого не происходит!

Так что, если вы знаете, как решить эту проблему, пожалуйста, дайте мне знать, спасибо.


person ramin qaraguzlou    schedule 06.12.2020    source источник
comment
Измените <div class="g-recaptcha" data-sitekey="{{ env('GOOGLE_RECAPTCHA_SITE_KEY') }}"></div> на <div class="g-recaptcha @error('g-recaptcha-response') is-invalid @enderror" data-sitekey="{{ env('GOOGLE_RECAPTCHA_SITE_KEY') }}"></div>, посмотрите, работает это или нет.   -  person POOYAA    schedule 06.12.2020
comment
Да, все верно, спасибо дружище.   -  person ramin qaraguzlou    schedule 06.12.2020
comment
Вот ответ для laravel 8: stackoverflow.com/questions/66720254/   -  person John Lobo    schedule 18.07.2021


Ответы (1)


Изменять:

<div class="g-recaptcha" data-sitekey="{{ env('GOOGLE_RECAPTCHA_SITE_KEY') }}"></div>

To:

<div class="g-recaptcha @error('g-recaptcha-response') is-invalid @enderror" data-sitekey="{{ env('GOOGLE_RECAPTCHA_SITE_KEY') }}"></div>

person POOYAA    schedule 06.12.2020