Я хочу использовать систему 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 требуется. но почему-то этого не происходит!
Так что, если вы знаете, как решить эту проблему, пожалуйста, дайте мне знать, спасибо.
<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