Laravel 5 注册器中的Laravel recaptcha验证不起作用

Laravel 5 注册器中的Laravel recaptcha验证不起作用,laravel-5,recaptcha,Laravel 5,Recaptcha,我是拉威尔的新手。 我使用了这个recaptcha包: 文件上说: 在验证规则中,添加以下内容: $rules = array( // ... 'g-recaptcha-response' => 'required|recaptcha', }; 顺便说一下,我使用了laravel 5的注册器: <?php namespace taxman\Services; use taxman\User; use Validator; use Illum

我是拉威尔的新手。 我使用了这个recaptcha包: 文件上说: 在验证规则中,添加以下内容:

$rules = array(
        // ...
        'g-recaptcha-response' => 'required|recaptcha',
    };
顺便说一下,我使用了laravel 5的注册器:

<?php namespace taxman\Services;

use taxman\User;
use Validator;
use Illuminate\Contracts\Auth\Registrar as RegistrarContract;

class Registrar implements RegistrarContract {

    /**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $data
     * @return \Illuminate\Contracts\Validation\Validator
     */
    public function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|confirmed|min:4',
            'telephone' => 'required',
            'g-recaptcha-response' => 'required|recaptcha',
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return User
     */
    public function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }

}

如果将以下内容粘贴到发生此操作的控制器中,则应该可以正常工作


$this->validate($request,['g-recaptcha-response'=>'required | recaptcha'])

根据文档,您需要检查g-recaptcha-responsePOST参数。因此,将其传递给validator()函数。

如果有人因为此问题仍在拉扯头发,只需删除验证规则中的
'recaptcha'

使用

而不是

'g-recaptcha-response' => 'required|recaptcha'

请参见

您是否解决了该问题?我有可能是同一个。它修好了,但我仍然在问为什么。解决问题并不是真正的解决办法。顺便说一句,链接已断开。
'g-recaptcha-response' => 'required'
'g-recaptcha-response' => 'required|recaptcha'