【发布时间】:2017-04-30 12:28:08
【问题描述】:
我正在输入字段 username 上创建自定义验证 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;
});
}
显示
“---名字”
...值为空,但是我可以得到它的名字(名字)。为了确保,当我将它转储到控制器上时:
dd( $request->get('firstname') ."-". request('firstname') ."-". Input::get('firstname') ."-". 'firstname' );
我明白了:
“我的名字-我的名字-我的名字-名字”
基本上就是这样,我无法进行自定义验证,因为我无法获得任何值。
我猜当我尝试使用 require_without_all 验证时也会发生同样的情况。因为它不识别它的参数(我在字段上写的)
【问题讨论】:
-
删除验证数组中
:和firstname之间的空格。 -
解决了!非常感谢,我不敢相信我浪费在这上面的所有时间。我可以接受您的评论作为正确答案吗?
-
我做了一个答案,所以你可以接受。
标签: laravel validation parameters null laravel-5.4