如何使用 Laravel 5 中图像上传字段存在的验证规则

问题描述 投票:0回答:2

我使用 Laravel 5

在更新中,创建请求文件

public function rules()
{
    return [
        'image' => 'required', 
        'description' => 'required', 
        'link' => 'required', 

    ];
}

但是更新请求需要更改图像规则,因为如果用户不需要修改记录图像。

我认为只要存在或不存在空图像就足够了。

php laravel laravel-5 laravel-validation laravel-request
2个回答
1
投票

Laravel 方式验证图像怎么样?

将此代码放入控制器中

public function rules()
{
    return [
        'image' => 'image',
        //other rules
    ];
}

https://laravel.com/docs/5.5/validation#rule-image

public function rules()
{
    return [
        'image' => 'required_without:id|image',
        //other rules
    ];
}

说明:
最有可能的是,如果您正在创建新记录,则 id 值不存在(默认情况下,它由数据库自动分配),但在编辑或更新的情况下,id 将出现在请求中(默认情况下,记录是通过 id 值找到的)并且图片不是必需的
请参阅https://laravel.com/docs/5.5/validation#rule-required-without


0
投票

您可以使用以下规则创建

UpdateRequest

public function rules()
{
    return [
        'description' => 'required', 
        'link' => 'required', 
    ];
}

并使用此请求更新图像并创建将从

StoreRequest
扩展的
UpdateRequest
,并遵循以下规则:

public function rules()
{
    return array_merge(parent::rules(), [
        'image' => 'required', 
    ]);
}

并使用此请求添加新图像

© www.soinside.com 2019 - 2024. All rights reserved.