【问题标题】:Laravel 5.5 - Method [validationRequired] does not existLaravel 5.5 - 方法 [validationRequired] 不存在
【发布时间】:2020-04-30 01:09:15
【问题描述】:

我有一个非常奇怪的问题。当我提交表单时,它会引发服务器端验证错误。

BadMethodCallException

方法 [validationRequired] 不存在。

我的控制器:

    public function store(Request $request)
{
    $rules = array(
        'DateDebut' => 'required',
        'TimeDebut' => 'required',
    );

    $messages = [
        'DateDebut.required'=>'La date de début de réunion est obligatoire.',
        'TimeDebut.required'=>'L\'heure de début de réunion est obligatoire.'
    ];
    $validator = Validator::make($request->all(),$rules,$messages);
    
    if ($validator->fails()) {
        return redirect()->route('demandes.create')
            ->withErrors($validator->errors()->messages());
    } else {
        return view('demandes.index');
    }
}

控制器在方法上失败$validator->fails()

【问题讨论】:

  • 尝试用这个dd($validator)查看$validator的值,你也可以通过这种方式检查你传递给验证器的值,看看你是否注意到任何异常。最后要检查的是你的代码中是否有正确的Validator
  • 能否给web.php
  • dd($validator') 返回一个包含我所有数据和所有规则的 Validator 对象。对于 Validator 类,它调用 laravel 框架的接口,控制器顶部有 use Validator。 @ArijitJana 当你说“web.php”时你期待什么?
  • 我的意思是说你的路由文件夹中的 web.php 文件@Damien Madaule
  • 我无法发布所有的 web.php 文件,但对于这个控制器,请使用文件的这一部分:Route::resource('demandes', 'RequestController');

标签: laravel-5


【解决方案1】:

尝试改变这一行

return redirect()->route('demandes.create')
            ->withErrors($validator->errors()->messages());

到这里

return redirect()->route('demandes.create')
                ->withErrors($validator->errors()->toArray());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    相关资源
    最近更新 更多