개발/Laravel

Laravel Validate Array of Uploaded File

Sengwoolee 2020. 7. 22. 12:30
<?php
	
    public function trackInfoValidation(Request $request)
    {
        $uploadedfilecount = 0;
        $trackfileuploadedcheck = true;

        foreach($_FILES['trackfile']['name'] as $key => $val)
        {
            if($val != "") 
            {
                $uploadedfilecount += 1;
            }
        }

        if(count($request->input('track_seq')) == $uploadedfilecount)
        {
            $trackfileuploadedcheck = false;
        }

        $validator = Validator::make($request->all(), [
            'TrackName.*' => ['required_if:TrackName_ENG.*,""'],
            'TrackName_ENG.*' => ['required_if:TrackName.*,""'],
            'distTrackCode.*' => ['required'],
            'trackfile.*' => ['required'],
            'TrackArtist_Name.*' => ['required_if:TrackArtist_Name_ENG.*, ""'],
            'TrackArtist_Name_ENG.*' => ['required_if:TrackArtist_Name.*, ""'],
        ]);

        if ($validator->fails() || $uploadedfilecount == false)
        {
            return response()->json(array('errors' => $validator->getMessageBag()->toArray()));
        } 
        else 
        {
            return response()->json(array('success' => 'validation success'));
        }
    }
   
?>
반응형