Merhaba, herkese iyi günler dilerim. Ajax ile post işlemini sorunsuz gerçekleştirmekteyim. Lakin validation kısmında ufak bir sorun yaşıyorum. Validation kısmında resim kısmına mimes ekliyorum. Lakin resim zorunlu olmayacak şekilde ayarlıyorum. Burada seçmediğim halde mimes error alıyorum. Yani uzantıları jpg, jpeg, png, olmalıdır diyor. Bunu aşmayı denedim, null olarak gönderiyorum file inputu ama halen aynı hatayı almaktayım. Post işlemi;
$(document).ready(function () {
$("#category_update").click(function(e){
var formData = new FormData();
formData.append("main_category", $("#main_category").val());
formData.append("category_name", $("#category_name").val());
if($("#category_image").prop("files").length == 0) {
formData.append("category_image", "");
} else {
formData.append("category_image", $("#category_image").prop("files")[0]);
formData.append("category_update", "category_update");
}
$.ajax({
type: 'post',
url: "{{ route('Category.update', $category->id) }}",
data: formData,
mimeType: 'multipart/form-data',
dataType: 'json',
cache: false,
contentType: false,
processData: false,
success: function (data) {
toastr.success('', data.success, { positionClass: "toast-bottom-right" })
$("#updated_image").load(window.location.href + " #updated_image" );
},
error: function (data) {
toastr.error('', validateItem(data), { positionClass: "toast-bottom-right" })
},
});
});
});
Controller yapısı;
$request->validate(
[
'main_category' => 'required|max:40',
'category_name' => 'required|max:40',
'category_image' => 'mimes:png,jpg,jpeg',
],
[
'main_category.required' => __('words.main-category-required'),
'main_category.max' => __('words.main-category-max', ['max' => ':max']),
'category_name.required' => __('words.category-required'),
'category_name.max' => __('words.category-max', ['max' => ':max']),
'category_image.mimes' => __('words.category-image-mimes', ['mimes' => ':values']),
]
);
$category = Category::findOrFail($id);
$category->parent_id = $request->main_category;
$category->title = $request->category_name;
$category->slug = Str::slug($request->category_name);
if ($request->hasFile('category_image')) {
$category->image = Helper::imageUpload($request->file('category_image'), 'Category', $category->image);
}
$category->save();
return response()->json(['success' => __('words.category-update-success')]);
Herkese çok teşekkür ederim <3