从表单验证控制器上的收藏夹图标

时间:2019-01-19 17:07:43

标签: php laravel validation favicon laravel-5.7

我只想验证我的文件,.ico文件。 我认为Laravel不包含x-icon mime,我该如何验证呢?

  $logo = $request->file('logo');
  $favicon = $request->file('favicon');

  $request->validate([
    'logo'=>'image|mimes:png',
    'favicon'=>'',
     ]);

2 个答案:

答案 0 :(得分:1)

按照here的说明制作自定义验证规则。

简而言之:

首先要做:

php artisan make:rule CheckIfFavicon

然后:

在创建的规则文件中创建验证代码。

尝试类似的东西:

  public function passes($attribute, $value)
        {
            return $value->getClientOriginalExtension() == 'ico';
        }

然后将其添加到验证。请注意,如果您创建自定义验证类,则必须将$ request-> validate([...])中的语法从管道传递到数组。

$request->validate([
    'favicon' => [new CheckIfFavicon], 
]);

答案 1 :(得分:0)

如果只想检查文件扩展名,请在代码中使用$file->getClientOriginalExtension()

$ext = $file->getClientOriginalExtension();
if($ext == 'ico'){
  //uploadfile
}else{
  //do something else
}

使用this作为参考。