表单请求-过滤验证失败时不应保留哪些旧输入

时间:2019-01-20 17:46:04

标签: validation laravel-5.7

这是我第一次使用laravel,我有一个期限很紧的项目。我的控制器中有与此类似的代码:

    $validator = Validator::make($request->all(), [
        // validation goes here
    ], $messages);

    if ($validator->fails()) {
        return back()
                ->with('error', 'エラーメッセージが入ります。') //SESSION ERROR MESSAGE
                ->withErrors($validator->errors())
                ->withInput($request->except(['field1', 'field2']);
    };

关于视图,我在类似这样的树枝模板上使用Laravel集合。

{% if session('error') %}
  <div class="alert alert-danger" role="alert">
{{session('error')}}
</div>
{% endif %}

{{ form_text('title', '', {'id': 'title', 'class':"form-control"}) }}

我正在尝试使用FormRequests来转换验证,以使做法更好,并使控制器尽可能保持清洁。此处的所有内容均正常运行,但是当我尝试使用Form Requests时,我很难过滤在验证失败时不应该输入哪些数据,以及使用会话闪存with('error', 'エラーメッセージが入ります。')

有人对在表单请求中如何编写语法->withInput($request->except(['field1', 'field2'])with('error', 'エラーメッセージが入ります。')有想法吗?任何帮助都将不胜感激。谢谢。

编辑:

我想出了如何在表单请求中使用会话Flash:

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\Validator;


class Custom extends FormRequest
{
    ..

    protected function failedValidation(Validator $validator) {
        session()->flash('error', 'error message');
    }

}

我现在需要的是->withInput($request->except(['field1', 'field2']);方面的帮助。预先谢谢你!

0 个答案:

没有答案