Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
刀片服务器中的Laravel验证错误:显示相同消息的多个表单_Laravel - Fatal编程技术网

刀片服务器中的Laravel验证错误:显示相同消息的多个表单

刀片服务器中的Laravel验证错误:显示相同消息的多个表单,laravel,Laravel,在我看来,我有多种形式。当我在一个表单上收到验证错误时,它会在所有表单上显示验证错误消息。我如何更新它,使验证错误只显示在导致验证错误的表单上?多谢各位 视图: @如果($errors->has('comment')) {{$errors->first('comment')} @恩迪夫 提交 您可以使用: 返回重定向(“上一页”) ->威瑟罗($validator,'first_form'); 然后,您可以从$errors变量访问刀片服务器中的命名错误包: {{$errors->first\

在我看来,我有多种形式。当我在一个表单上收到验证错误时,它会在所有表单上显示验证错误消息。我如何更新它,使验证错误只显示在导致验证错误的表单上?多谢各位

视图:


@如果($errors->has('comment'))

{{$errors->first('comment')}

@恩迪夫 提交
您可以使用:

返回重定向(“上一页”)
->威瑟罗($validator,'first_form');
然后,您可以从
$errors
变量访问刀片服务器中的命名错误包:

{{$errors->first\u form->first('comment')}
如果您使用的是Laravel>=6.10,则
validateWithBag
方法可能会帮助您:

$request->validateWithBag('first_form')[
'title'=>['required'、'unique:posts'、'max:255'],
'注释'=>['必需'],
]);
使用该指令,第一个arg是一个属性,第二个arg是命名的行李:

<input
    id="comment"
    type="text"
    class="@error('comment', 'first_form') is-invalid @enderror"
>

@error('comment', 'first_form')
    <div class="alert alert-danger">{{ $message }}</div>
@enderror

@错误('comment','first_form')
{{$message}}
@恩德罗

在我看来,我是否需要命名表单,以便验证知道它正在验证哪个表单?例如,name=“first_form”。@mattpiers no只需修改您的控制器以命名错误包,并修改每个表单上的
$errors
变量以获取/显示其相关错误。我们如何添加is invalid class?像在正常情况下一样,我们添加like class=“@error('name')无效@enderror”@junaimasood我更新了我的答案。如果你觉得这个答案有用,请别忘了打分。
<input
    id="comment"
    type="text"
    class="@error('comment', 'first_form') is-invalid @enderror"
>

@error('comment', 'first_form')
    <div class="alert alert-danger">{{ $message }}</div>
@enderror