Php Laravel在表单提交前显示错误消息

Php Laravel在表单提交前显示错误消息,php,laravel,error-handling,laravel-validation,Php,Laravel,Error Handling,Laravel Validation,在我的上一个问题中,我请求帮助,在错误填写表单后显示一条错误消息,而不是针对每个错误输入显示错误。他们很有帮助,我收到了以下代码: @if ($errors) <span class='help-block'> <strong>{{ "There are errors" }}</strong> </span> @end

在我的上一个问题中,我请求帮助,在错误填写表单后显示一条错误消息,而不是针对每个错误输入显示错误。他们很有帮助,我收到了以下代码:

          @if ($errors)
              <span class='help-block'>
                  <strong>{{ "There are errors" }}</strong>
              </span>
          @endif
@if($errors)
{{“有错误”}
@恩迪夫
第二个答案是

 @if (!empty($errors))
 <span class='help-block'>
     <strong>{{ "Some input field is not properly filled" }}</strong>
 </span>
 @endif
@if(!empty($errors))
{{“某些输入字段未正确填充”}
@恩迪夫
我认为上面的内容只有在提交表单后才会显示,如果Laravel发现任何错误的话。问题是它总是显示错误消息,如以下屏幕截图所示:
有人知道解决办法吗?非常感谢。

如果我理解正确,您只想在提交表单后显示成功或错误消息

如果是这种情况,则应采用以下方法:

您需要在控制器功能中添加/更改以下内容:

$request->session()->flash('success', 'Success!');
return redirect()->route("yourstuff.index");
$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
@if (session('success'))
    <div class="alert alert-success">
        {{ session('success') }}
    </div>
@endif

@if (session('error'))
    <div class="alert alert-success">
        {{ session('error') }}
    </div>
@endif
@if(会话('success'))
{{session('success')}
@恩迪夫
@if(会话('error'))
{{session('error')}
@恩迪夫

因此,如果我理解正确,您希望仅在提交表单后显示成功或错误消息

如果是这种情况,则应采用以下方法:

您需要在控制器功能中添加/更改以下内容:

$request->session()->flash('success', 'Success!');
return redirect()->route("yourstuff.index");
$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
@if (session('success'))
    <div class="alert alert-success">
        {{ session('success') }}
    </div>
@endif

@if (session('error'))
    <div class="alert alert-success">
        {{ session('error') }}
    </div>
@endif
@if(会话('success'))
{{session('success')}
@恩迪夫
@if(会话('error'))
{{session('error')}
@恩迪夫

$errors
始终设置变量。它是一个可能包含或不包含消息的文件

您可以这样检查:

 @if ($errors->count() > 0)
 <span class='help-block'>
     <strong>{{ "Some input field is not properly filled" }}</strong>
 </span>
 @endif
@if($errors->count()>0)
{{“某些输入字段未正确填充”}
@恩迪夫

@if(!$errors->isEmpty())
也应该起作用。

$errors
始终设置变量。它是一个可能包含或不包含消息的文件

您可以这样检查:

 @if ($errors->count() > 0)
 <span class='help-block'>
     <strong>{{ "Some input field is not properly filled" }}</strong>
 </span>
 @endif
@if($errors->count()>0)
{{“某些输入字段未正确填充”}
@恩迪夫

@if(!$errors->isEmpty())
应该也能用。

问题解决了,我收到了两个很好的答案,但我选择了更简单的一个。 为了返回单个错误,我使用了用户建议的代码:

德夫克

在您的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
@if (session('success'))
    <div class="alert alert-success">
        {{ session('success') }}
    </div>
@endif

@if (session('error'))
    <div class="alert alert-success">
        {{ session('error') }}
    </div>
@endif
@if(会话('success'))
{{session('success')}
@恩迪夫
@if(会话('error'))
{{session('error')}
@恩迪夫
我将在我的项目的其他部分使用你提出的代码。
谢谢

问题解决了,我收到了两个很好的答案,但我选择了更简单的一个。 为了返回单个错误,我使用了用户建议的代码:

德夫克

在您的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
@if (session('success'))
    <div class="alert alert-success">
        {{ session('success') }}
    </div>
@endif

@if (session('error'))
    <div class="alert alert-success">
        {{ session('error') }}
    </div>
@endif
@if(会话('success'))
{{session('success')}
@恩迪夫
@if(会话('error'))
{{session('error')}
@恩迪夫
我将在我的项目的其他部分使用你提出的代码。
谢谢

尝试用
{{$errors}}
输出错误。您可能需要执行类似于
的操作!empty($errors)
,因为它可能只是一个空数组。以前尝试过,但没有任何效果。将提交的表单与处理该表单的控制器方法一起提交。如果只刷新表单所在的页面,会发生什么情况?如果错误消息没有以某种方式重新刷新到会话中,则应清除这些错误消息。因此,您希望仅显示提交正确的错误?因此,请显示控制器以
{{$errors}}
输出错误。您可能需要执行类似于
的操作!empty($errors)
,因为它可能只是一个空数组。以前尝试过,但没有任何效果。将提交的表单与处理该表单的控制器方法一起提交。如果只刷新表单所在的页面,会发生什么情况?如果错误消息没有以某种方式重新刷新到会话中,则应清除这些错误消息。因此,您希望仅显示提交正确的错误?因此,请显示控制器