自定义mimes无效的错误消息

问题描述 投票:0回答:2

我无法自定义mimes的错误消息

我尝试了这里给出的解决方案laravel 5.4 custom error message for MIME not working?但没有成功

要求:

public function rules()
{
    $rules =  [
        'album'=> 'required',
        'add_image.*' => 'image|mimes:png|max:2000',
    ];
    return $rules;
}
public function messages()
{
    $messages = [
        'album.required' => 'Album is required',
        'add_image.mimes' => "Image isn't png",
    ];

    return $messages;
}

表格视图:

<form class="addImage" method="post" action="{{route('addImage.form')}}" enctype="multipart/form-data">
    {{csrf_field()}}
    <select name="album">
         <option value="">-----</option>
         @foreach($albums as $album)
             <option value="{{$album}}">{{$album}}</option>
         @endforeach

    </select>
    <input  multiple="multiple" name="add_image[]" type="file" />
    <button class="buttonADM" type="submit">Send</button>
</form>

谢谢你的帮助,抱歉我的英语不好

laravel laravel-5.8
2个回答
0
投票

您正在验证数组,因此请尝试以下方法:

'add_image.*.mimes' => "Image isn't png",

我在我的项目中使用了您的表单,并尝试了这个:

$valid  = Validator::make(request()->all(), [
    'add_image.*' => 'image|mimes:png'
], [
    'add_image.*.mimes' => 'Image isnt png'
]);

dd($valid->errors());
// output
{
    "add_image.0": [
    "Image isnt png"
  ],
    "add_image.1": [
    "Image isnt png"
  ],
    "add_image.2": [
    "Image isnt png"
  ]
}

我得到了自定义消息。因此,如果它包含正确的消息,请检查您的错误包,并确保打印好。


0
投票

我没有相同的结果

调节器

public function addImage(/*addImageRequest $request*/){

    if(session('user')['isA'] == 1){
        $valid  = Validator::make(request()->all(), [
            'add_image.*' => 'image|mimes:png'
        ], [
            'add_image.*.mimes' => 'Image isnt png'
        ]);
       dd($valid->errors());
    }
}

回归:

MessageBag {#224 ▼
    #messages: array:1 [▼
        "add_image.0" => array:1 [▼
             0 => "The add_image.0 failed to upload."
        ]
    ]
    #format: ":message"
}
© www.soinside.com 2019 - 2024. All rights reserved.