【问题标题】:laravel's validator doesnt return input fieldslaravel 验证器不返回输入字段
【发布时间】:2016-02-18 12:43:25
【问题描述】:

返回输入的问题。提交表单后,如果验证器失败,它不会返回“旧”输入。这是我的控制器

$validator = Validator::make($request->all(), [
        'user_rate' => 'required|integer|between:1,5',
        'user_comment' => 'required',
    ], [
        "user_rate.integer" => trans('errors.rate-required'),
        "user_rate.between" => trans('errors.rate-required'),
        "user_rate.required" => trans('errors.rate-required'),
        "user_comment.required" => trans('errors.com-required'),

    ]);

    if ($validator->fails()) {
        return redirect()->back()->withErrors($validator)->withInput($request->input());
        //return redirect()->back()->with(Input::all());
    }

我尝试了几种方法(还有 $request->flash(),但它不返回“旧”输入

【问题讨论】:

  • 请尝试重定向到命名路由并使用输入,例如return redirect('post/create') ->withErrors($validator) ->withInput(); Documentation

标签: laravel laravel-5 laravel-5.1


【解决方案1】:

在你的控制器中

public function someFunction(Request $request)
{
    //Validation Logic

    if($v->fails())
    {
        return redirect()->back()->withInput();
    }
}

在你看来

<input type="text" name="some_name" value="{{old('some_name')}}">

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    不要将任何参数传递给 withInput 函数

     if ($validator->fails()) {
        return redirect()->back()->withErrors($validator)->withInput();
        //return redirect()->back()->with(Input::all());
     }
    

    您如何在表单中获取旧输入?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-02
      • 2017-11-09
      • 2015-04-29
      • 2021-08-13
      • 2015-03-14
      • 1970-01-01
      • 2016-01-20
      • 2016-01-21
      相关资源
      最近更新 更多