Laravel 5.4属性中数组值的名称很好

时间:2017-05-02 09:09:16

标签: laravel

Laravel以这种格式接收数据

['roles' => [1, 4]]

规则

$rules = ['roles.*' => 'integer|min:1|exists:roles,id']

当Validator失败时,显示

[
 "roles.0" => [
   "The roles.0 must be an integer.",
 ],

如何使用密钥(在本例中为all自动将roles个案例转换为错误数组。将会有许多这样的验证器,它将被复制粘贴以便为每个这样的情况做好预测。

1 个答案:

答案 0 :(得分:1)

您可以尝试编辑resources/view/en/validation.php(假设您要为英语网站执行此操作)并修改属性部分(位于文件末尾),如下所示:

'attributes' => [
    'roles.0' => 'Admin', 
    'roles.1' => 'Moderator',
    // etc.
],

另一个解决方案(如果你想避免重复)可能是用你的规则写一个小刀片:

@foreach ($errors->get('roles.*') as $message)
    // Do what you want with some @if
@endforeach

然后将其包含在您的不同页面中:

@if ($errors)
    @include('roles-error-messages')
@endif