使用Laravel

时间:2016-11-04 05:30:19

标签: php laravel laravel-5 laravel-5.2

我在项目中使用Laravel 5.2。我需要一些帮助来验证文件上传。功能如下,

  • fileType - 音频/视频文件
  • file.mp3,file.mp4,file.3gb

因此,在提交(通过PostMan的Rest Client)上面的字段时,我需要验证文件的"音频扩展名(.mp3等)"如果fileType是" audio"。

如果fileType为"视频(.mp4,.3gb)"

,我需要验证文件的视频扩展名

我尝试这样做,但有一个选项可以验证音频/视频扩展,而无需检查fileType的值,如下所示,

'file' => 'mimes:mp3,mp4,3gb'

有人可以指导我吗?

2 个答案:

答案 0 :(得分:1)

如果您正在使用表单请求,请尝试使用以下代码

public function rules()
{
    $rules = [
        'some_field' => 'required',
    ];

    //  if fileType is audio
    if ($this->input('fileType') == 'audio') {
        $rules['file'] = 'mimes:mp3,mp4';
    }

    //if fileType is video
    if ($this->input('fileType') == 'video') {
         $rules['file'] = 'mimes:mp4,3gp';

    }

    return $rules;
}

根据您的要求更改字段名称和验证规则。

答案 1 :(得分:0)

您可以为mp3

提供以下验证规则
np.gradient