如何使用一个错误刀片文件分离laravel中的两条错误消息?

如何使用一个错误刀片文件分离laravel中的两条错误消息?,laravel,Laravel,比如说,我在一页中有两个表单。我在两个表单下面都包含了一个错误刀片文件。现在,当我在一个表单中出错并提交时,两个表单下面都会显示错误消息。这很正常。但我的问题是,如何区分这两个错误消息,如何通过给它们两个不同的名称来区分它们?试试看 return redirect()->back()->withErrors([ 'form1.name' => 'name is required in Form 1', 'form1.email' => 'email is

比如说,我在一页中有两个表单。我在两个表单下面都包含了一个错误刀片文件。现在,当我在一个表单中出错并提交时,两个表单下面都会显示错误消息。这很正常。但我的问题是,如何区分这两个错误消息,如何通过给它们两个不同的名称来区分它们?

试试看

return redirect()->back()->withErrors([
    'form1.name' => 'name is required in Form 1',
    'form1.email' => 'email is required in Form 1',
    'form2.city' => 'city is required in form 2'
]);
在你看来

@if($errors->any())
    @foreach ($errors->get('form1.*') as $error) {
       {{ $error }}
    @endforeach
@endif
因此,您可以使用数组表示法
form.name
按表单对错误进行分组,并使用
$errors->get('form.*)
获取所有错误

在此处阅读有关错误的详细信息:

如果正在使用,则可以更改属性以获取视图文件的唯一错误数组

在您的
请求
文件中:

class MyFormRequest {
    protected $errorBag = 'foobar';

    public function rules() { // ... }
}
在控制器中:

public function store(MyFormRequest $request) {
    // Store entry.
}
然后在视图文件中:

@if ($errors->foobar->isNotEmpty())
// Work with the errors
@endif

您可以使用命名的错误包

$validator = Validator::make($request->all(), [
    'field1' => 'required',
    'field2' => 'required|digits:1',
]);

if ($validator->fails()) {
    return back()
                ->withErrors($validator, 'form1error')
                ->withInput();
}
要打印刀片文件中的错误,请使用-

@if(count($errors->form1error)>0)
  <ul>
  @foreach($errors->form1error->all() as $error)
    <li>{{$error}}</li>
  @endforeach
  </ul>
@endif
@if(计数($errors->form1error)>0)
    @foreach($errors->form1error->all()作为$error)
  • {{$error}}
  • @endforeach
@恩迪夫