如何在 laravel 错误消息数组中获取错误键
how to get an error key in laravel error message array
我正在尝试使用 Laravel 错误转储 ($errors
) 从数组中检索键。
数组看起来像这样
ViewErrorBag {#169 ▼
#bags: array:1 [▼
"default" => MessageBag {#170 ▼
#messages: array:2 [▼
"name" => array:1 [▼
0 => "The name field is required."
]
"role_id" => array:1 [▼
0 => "The role id field is required."
]
]
#format: ":message"
}
]
}
使用 @foreach
循环获取错误消息效果很好。
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
但我想得到 name
和 role_id
。无论如何要实现这一目标?到目前为止,我已经尝试了以下方法和其他一些方法,但没有成功。
@foreach ($errors->all() as $key => $value)
Key: {{ $key }}
Value: {{ $value }}
@endforeach
这是因为,$errors->all()
returns 一个数组中所有字段的所有错误的数组(数字索引)。
如果你想循环并得到每个 key => value
对,那么你可以尝试这样的事情:
@foreach($errors->getMessages() as $key => $message)
{{$key}} = {{$message}}
@endforeach
但是,您可能会明确地从错误中得到一个项目,例如:
{{ $errors->first('name') }} // The name field is required.
也许在使用类似这样的字段询问任何错误之前进行检查是明智的:
@if($errors->has('name'))
{{ $errors->first('name') }}
@endif
这将帮助您在错误所属字段的 top/bottom 处显示每个错误。
使用
@foreach($errors->getMessages() as $key => $error )
Key: {{ $key }}
Value: {{ $error[0] }}
@endforeach
如果你 var_dump $error 的值,你会得到一个数组:
array(1) { [0]=> string(13) "Successfully!" }
因此您需要该数组的键(在我们的例子中为 0)来访问消息
遍历错误
@foreach($errors->getMessages() as $key => $message)
{{$key}} = {{$message[0]}}
@endforeach
在 Laravel API 中有一个可用于您的 $error
消息包的方法列表:
https://laravel.com/api/master/Illuminate/Contracts/Support/MessageBag.html
您可以通过以下方式获取所有错误键的列表:
$error->keys()
或错误列表:
$errors->all()
或特定错误的关键字:
$error->get('your.key')
我正在尝试使用 Laravel 错误转储 ($errors
) 从数组中检索键。
数组看起来像这样
ViewErrorBag {#169 ▼
#bags: array:1 [▼
"default" => MessageBag {#170 ▼
#messages: array:2 [▼
"name" => array:1 [▼
0 => "The name field is required."
]
"role_id" => array:1 [▼
0 => "The role id field is required."
]
]
#format: ":message"
}
]
}
使用 @foreach
循环获取错误消息效果很好。
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
但我想得到 name
和 role_id
。无论如何要实现这一目标?到目前为止,我已经尝试了以下方法和其他一些方法,但没有成功。
@foreach ($errors->all() as $key => $value)
Key: {{ $key }}
Value: {{ $value }}
@endforeach
这是因为,$errors->all()
returns 一个数组中所有字段的所有错误的数组(数字索引)。
如果你想循环并得到每个 key => value
对,那么你可以尝试这样的事情:
@foreach($errors->getMessages() as $key => $message)
{{$key}} = {{$message}}
@endforeach
但是,您可能会明确地从错误中得到一个项目,例如:
{{ $errors->first('name') }} // The name field is required.
也许在使用类似这样的字段询问任何错误之前进行检查是明智的:
@if($errors->has('name'))
{{ $errors->first('name') }}
@endif
这将帮助您在错误所属字段的 top/bottom 处显示每个错误。
使用
@foreach($errors->getMessages() as $key => $error )
Key: {{ $key }}
Value: {{ $error[0] }}
@endforeach
如果你 var_dump $error 的值,你会得到一个数组:
array(1) { [0]=> string(13) "Successfully!" }
因此您需要该数组的键(在我们的例子中为 0)来访问消息
遍历错误
@foreach($errors->getMessages() as $key => $message)
{{$key}} = {{$message[0]}}
@endforeach
在 Laravel API 中有一个可用于您的 $error
消息包的方法列表:
https://laravel.com/api/master/Illuminate/Contracts/Support/MessageBag.html
您可以通过以下方式获取所有错误键的列表:
$error->keys()
或错误列表:
$errors->all()
或特定错误的关键字:
$error->get('your.key')