Laravel的验证器不返回输入字段

4

返回输入值时出现问题。在表单提交后,如果验证器失败,则不会返回“旧”的输入值。以下是我的控制器代码:

$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(); 文档 - Nisam
2个回答

9

在您的控制器中

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());
 }

你如何获取表单中的旧输入内容?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接