这是我第一次使用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']);
方面的帮助。预先谢谢你!