php - How to add required if validation rule if a file has been uploaded

I'm working with Laravel 5.8 and here is my validation request form:

public function rules()
    {
        return [
            'art_audio_file' => ['nullable', 'file', 'mimes:audio/mpeg,mpga,mp3,wav,aac'],
            'art_audio_file_title' => ['required_if: IF USER HAS UPLOADED FILE']
        ];
    }

I wonder, how can I make art_audio_file_title required if art_audio_file is not empty.

So how can I do that?

Answer

Solution:

You can add your logic like below:

return [
      'art_audio_file' => ['nullable', 'file', 'mimes:audio/mpeg,mpga,mp3,wav,aac'],
      'art_audio_file_title' => [
          Rule::requiredIf(function() {
              return !empty($this->request->get('art_audio_file'));
          })
      ]
    ];

or in your case simply:

'art_audio_file_title'=>'required_with:art_audio_file'

Source