Я впервые использую 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', 'エラーメッセージが入ります。')
внутри запроса формы? Любая помощь очень ценится. Спасибо.
Edit:
Я понял, как использовать сессионную вспышку внутри запроса формы:
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']);
. Заранее спасибо!