【问题标题】:Laravel's Custom Validation $parameters returning nullLaravel 的自定义验证 $parameters 返回 null
【发布时间】: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


【解决方案1】:

删除验证数组中:firstname 之间的空格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2021-03-18
    • 2012-11-27
    相关资源
    最近更新 更多