laravel validator throwing error please upload file type jpg png git etc even if i upload file image please anyone help me my html code is
<div class="form-group"> <label for="" class="control-label mb-1 mt-4">Profile photos</label> <input type="file" value="" name="photo1" class="form-control my-2" value="" id="prophotos1" placeholder="" /> <input type="file" value="" name="photo2" class="form-control my-2" value="" id="prophotos2" placeholder="" /> <input type="file" value="" name="photo3" class="form-control my-2" value="" id="prophotos3" placeholder="" /> <input type="file" value="" name="photo4" class="form-control my-2" value="" id="prophotos4" placeholder="" /> <input type="file" value="" name="photo5" class="form-control my-2" value="" id="prophotos5" placeholder="" /> <input type="file" value="" name="photo6" class="form-control my-2" value="" id="prophotos6" placeholder="" /> </div>
my controller code is
` public function saveCelebrity(Request $request)
{
$inputData = array_map(‘trim’, $request->all());
$passwordRegex = ‘/^(?=.[A-Z])(?=.[a-z])(?=.d)(?=.[!@#$%^&])[A-Za-zd!@#$%^&]{10,}$/’;
$mobileRegex = ‘/^d{10}$/’;
$customMessages = [
'name.regex' => 'The name field should contain only letters and spaces.',
'phone.regex' => 'Invalid mobile number format.',
'password.regex' => 'The password must have at least one uppercase letter, one lowercase letter, one number, one special character, and be at least 10 characters long.',
'facebook.required' => 'The Facebook profile link is required.',
'instagram.required' => 'The Instagram profile link is required.',
'youtube.required' => 'The Youtube profile link is required.',
'photo1.required' => 'Profile photo one is required.',
'photo2.required' => 'Profile photo two is required.',
'photo1.image' => 'The file must be an image.',
'photo2.image' => 'The file must be an image.',
'photo3.image' => 'The file must be an image.',
'photo4.image' => 'The file must be an image.',
'photo5.image' => 'The file must be an image.',
'photo6.image' => 'The file must be an image.',
];
if ($request->name) {
$validator = Validator::make($inputData, [
'name' => 'required|regex:/^[a-zA-Zs]+$/',
'email' => 'required|email|unique:users',
'phone' => ['required', "regex:{$mobileRegex}"],
'role_id' => 'required',
'status' => 'required',
'account_status' => 'required',
'facebook' => 'required',
'instagram' => 'required',
'youtube' => 'required',
'photo1' => 'required|mimes:jpeg,png,jpg,gif|max:2048',
'photo2' => 'required|mimes:jpeg,png,jpg,gif|max:2048',
'photo3' => 'nullable|mimes:jpeg,png,jpg,gif|max:2048',
'photo4' => 'nullable|mimes:jpeg,png,jpg,gif|max:2048',
'photo5' => 'nullable|mimes:jpeg,png,jpg,gif|max:2048',
'photo6' => 'nullable|mimes:jpeg,png,jpg,gif|max:2048',
]);
} else {
$validator = Validator::make($inputData, [
// 'name' => 'required|regex:/^[a-zA-Zs]+$/',
'email' => 'required|email|unique:users',
'phone' => ['required', "regex:{$mobileRegex}"],
'role_id' => 'required',
'status' => 'required',
'account_status' => 'required',
]);
}
// dd($inputData);
$validator->setCustomMessages($customMessages);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput($inputData);
}
$input = $request->all();
/*for User table data insertion */
$input['unique_number'] = 'meet-' . random_int(10000, 99999);
$input['username'] = trim(strtolower($inputData['name']) . random_int(100000, 999999));
$input['is_celebrity'] = 1; //Celebrity Account
$input['is_created_admin'] = 1; //Created by admin
$user = User::create($input);
/*for Profile table data insertion */
if($request->name) {
$socialLinks = [
[
"social_type" => "instagram",
"social_link" => $request->instagram,
],
[
"social_type" => "facebook",
"social_link" => $request->facebook,
],
[
"social_type" => "youtube",
"social_link" => $request->youtube,
],
];
$uploadedImages = [];
$images = [];
for ($i = 1; $i <= 6; $i++) {
if ($request->hasFile("photo$i")) {
$photoPath = Storage::disk('s3')->put('images', $request->file("photo$i"));
$photoUrl = Storage::disk('s3')->url($photoPath);
$uploadedImages["image$i"] = $photoUrl;
$images[] = ["images" => $photoUrl];
}
}
$profile = Profile::create([
'user_id' => $user->id,
'name' => $request->name,
'social_media_links' => json_encode($socialLinks),
'images' => json_encode($images),
]);
}
return redirect('admin/celebrities-list')->with('status', 'Celebrity has been created successfully.');
}
`
error image
please help me what can i do to remove this error and validate uploaded file is image with format jpg png gif etc
user24607018 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.