在我的上一个问题中,我正在寻求帮助,在错误填写表单后显示单个错误消息,而不是每个错误输入的错误。他们很有帮助,我收到了这段代码:
@if ($errors)
<span class='help-block'>
<strong>{{ "There are errors" }}</strong>
</span>
@endif
,第二个答案是
@if (!empty($errors))
<span class='help-block'>
<strong>{{ "Some input field is not properly filled" }}</strong>
</span>
@endif
我认为只有在提交表格之后才会显示上述内容,如果Laravel发现任何错误。问题是它始终显示错误消息,如下面的截图: 有谁知道解决方案?非常感谢。
答案 0 :(得分:1)
因此,如果我理解正确,您只想在提交表单后显示成功或错误消息。
如果是这种情况应该起作用:
您需要在控制器功能中添加/更改以下内容:
$request->session()->flash('success', 'Success!');
return redirect()->route("yourstuff.index");
在您的blade.php中,您将使用此消息返回该会话
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if (session('error'))
<div class="alert alert-success">
{{ session('error') }}
</div>
@endif
答案 1 :(得分:1)
$errors
变量。它是message bag,可能包含也可能不包含消息。
您可以这样检查:
@if ($errors->count() > 0)
<span class='help-block'>
<strong>{{ "Some input field is not properly filled" }}</strong>
</span>
@endif
@if (!$errors->isEmpty())
也应该有用。
答案 2 :(得分:1)
问题解决了,我收到了两个很好的答案,但我选择了更简单的答案。 为了返回单个错误,我使用了用户提出的代码:
DEVK
@if ($errors->count() > 0)
<span class='help-block'>
<strong>{{ "Some input field is not properly filled" }}</strong>
</span>
@endif
效果很好。我要感谢用户:
utdev
对于此代码:
您需要在控制器功能中添加/更改以下内容:
$request->session()->flash('success', 'Success!');
return redirect()->route("yourstuff.index");
在您的blade.php中,您将使用此消息返回该会话
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if (session('error'))
<div class="alert alert-success">
{{ session('error') }}
</div>
@endif
我将在项目的其他部分使用您提出的代码。 谢谢!