Laravel 5.1仅在生产时验证输入


Laravel 5.1 Validate input only on production

所以我将谷歌的repatcha添加到我的Laravel项目中。我使用的是Laravel 5.1附带的基本Auth。我用这个类来复习https://github.com/greggilbert/recaptcha

在我的AuthController.php中,我有一个验证我当前表单的函数。不过,我想添加一个racaptcha的检查,但只有当服务器是生产时。。。。

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

我只想在产品上使用的验证器部分是

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

实现这一点最简单的方法是什么?

检查elixir.config对象后,似乎--production标志将elixir.config.production变量设置为true。

因此,可以将特定任务的执行封装在if(elixir.config.production)语句中,从而允许您在环境为"生产"时触发它们,或者如果您使用命令行中的--production标志手动指定了它们。