验证" OR"条件

时间:2016-12-16 19:09:53

标签: laravel laravel-5 laravel-5.3

我希望能够检查上传的文件是图像还是MIME类型为video/mp4的文件(mp4视频)。但是,我不知道如何做到这一点,因为它需要一个" OR"验证条件。

现在,我只有图像检查:

$validator = Validator::make(array('fileUpload' => $fileUpload), [
    'fileUpload' => 'required|image',
]);

如何添加" OR"条件还要检查文件的MIME类型是否为video/mp4

2 个答案:

答案 0 :(得分:2)

您还可以使用MIME Types ruleMIME rule

$validator = Validator::make(
    ['fileUpload' => $fileUpload],
    ['fileUpload' => 'required|mimetypes:image/jpeg,image/bmp,image/png,video/mp4']
);

答案 1 :(得分:0)

您可以编写自己的验证规则来执行此操作:

https://laravel.com/docs/5.3/validation#custom-validation-rules

你的看起来可能是这样的:

Validator::extend('img_or_mp4', function ($attribute, $value, $parameters, $validator) {
    return X; // Check the data in $value to see if it's an image or mp4
});

然后你的规则将是:

    'fileUpload' => 'required|img_or_mp4',