Laravel 如何将错误映射到字段?

Laravel 如何将错误映射到字段?,laravel,laravel-5,lumen,Laravel,Laravel 5,Lumen,以下是我的服务器端验证(以lumen为单位): $rules = array( 'prog_code' => 'required', 'payer_id' => 'required', ); $validator = \Validator::make($post, $rules); if (!$validator->fails()) { try {

以下是我的服务器端验证(以lumen为单位):

$rules = array(
            'prog_code' => 'required',
            'payer_id' => 'required',
        );
        $validator = \Validator::make($post, $rules);
        if (!$validator->fails()) {
            try {
                // Start Logic Here
            } catch (\Exception $e) {

            }
        } else {
            $errors = $validator->errors();
            return response()->json($errors->all());
        }
它返回的错误如下所示:

[
    "The prog code field is required.",
    "The payer id field is required.",
]
但问题是如何映射哪个字段的错误,因为我想在特定文本字段下面显示错误

我们可以自定义如下错误:

[
        [prog_code] => "The prog code field is required.",
        [payer_id] => "The payer id field is required.",
]

如果转储
$errors
变量,则会出现一系列错误,如您的目标:

ViewErrorBag {#406
  #bags: array:1 [
    "default" => MessageBag {#407
      #messages: array:1 [
        "pin" => array:1 [
          0 => "The Programming Code is required Sir!"
        ]
      ]
      #format: ":message"
    }
  ]
}

$errors
变量在出现错误时由验证器注入

实现相同响应的方法是:

if ( $validator->fails() ) {
  $errors = [];

  foreach ( $validator->errors()->toArray() as $field => $message ) {
    $errors[$field] = $message[0];
  }

  return response()->json($errors);
}

不是工人。。它给出了与我没有给出的相同的错误摘要。只是粘贴了一个生产项目的工作示例,它怎么不工作?清除你的缓存或其他东西工作正常。。它也在验证。但我的问题不同。。请把我上面的问题读一遍。也许你可以这样做:“prog_code.required”=>json_encode(['prog_code'=>“编程代码是required Sir!”),