настроить сообщение об ошибке для mimes не работает - PullRequest
0 голосов
/ 29 апреля 2019

Я не могу настроить сообщение об ошибке для mimes

Я пробую решение, приведенное здесь Пользовательское сообщение об ошибке laravel 5.4 для MIME не работает? , но без успеха

Запрос:

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>

Спасибо за вашу помощь и извините за мой плохой английский

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

у меня не тот же результат

Контроллер

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"
}
0 голосов
/ 29 апреля 2019

Вы проверяете массив, поэтому попробуйте это вместо:

'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"
  ]
}

и я получил заказное сообщение. Поэтому, пожалуйста, проверьте ваш пакет ошибок, если он содержит правильные сообщения, и убедитесь, что вы распечатали его в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...