Laravel的自定义验证$参数返回null

时间:2017-04-30 12:28:09

标签: laravel validation parameters null laravel-5.4

我在输入字段用户名上创建自定义验证 customVal 。我发送其他输入作为参数,但参数的值被接收为null。

在我的控制器中我有:

$this->validate(request(),[
  'username' => 'customVal: firstname',
]);

在app \ Providers \ AppServiceProviders上我将第一个参数作为测试转储:

public function boot()
{
  \Validator::extend('customVal', function ($attribute, $value, $parameters, $validator)
  {
    dd( Request::get($parameters[0]) ."-". request($parameters[0]) ."-". Input::get($parameters[0]) ."-". $parameters[0] );
    return true;
  });
}

显示

  

" ---名字"

... 值为null ,但我可以得到它的名字(名字)。只是为了确保,当我将其转储到控制器上时:

dd( $request->get('firstname') ."-". request('firstname') ."-". Input::get('firstname') ."-". 'firstname' );

我明白了:

  

" MYNAME-MYNAME-MYNAME-姓名"

基本上就是这样,我无法进行自定义验证,因为我无法获得任何价值。

当我尝试使用 require_without_all 验证时,我猜测同样的情况。因为它不能识别它的参数(我在字段上写的内容)

1 个答案:

答案 0 :(得分:1)

删除验证阵列中:firstname之间的空格。