【发布时间】:2020-01-02 21:28:33
【问题描述】:
我是 Laravel 的新手,我的问题是错误消息仍然以其他模式形式显示,我的 crud 是一个表格,每行(每个寄存器)都有编辑按钮。
我正在使用 $errors,我有一个带有表单的模式,如果我试图以不正确的方式更新它(缺少输入等),它确实会显示错误消息,我使用会话变量重新显示这些错误为了重新打开模式(查询)并显示错误。
但是如果我不重新提交它实际上会更新寄存器,并且我单击按钮以查看另一个更新模式表单(对于不同的寄存器),则会出现错误,尽管我试图忘记事件控制器函数中的会话变量(我用作在 html 中显示错误的条件的变量)
控制器
public function show($id)
{
session()->forget('errorUpdateTicket');
$ticket = Ticket::findOrFail($id);
return $ticket->toJson();
}
public function update(Request $request, $id)
{
$validator = Validator::make($request->all(), $this->rules, $this->message);
if ($validator->fails()) {
return redirect('incidents')
->with('errorUpdateTicket', 'errorUpdateTicket')
->withErrors($validator)
->withInput();
}
}
查看错误信息
@if(session('errorUpdateTicket'))
@error('category_id')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
@endif
主要问题是我想关闭模式并打开另一个寄存器进行更新,它不应该出现这些错误,我知道问题是 $errors 和 session ('errorUpdateTicket') 仍然有旧值,但我不知道我可以通过哪种方式删除它们,我猜是在显示寄存器数据的函数中,但它对我不起作用。
【问题讨论】:
标签: laravel modal-dialog session-variables laravel-blade