1

我使用 Laravel 5

在更新中,创建请求文件

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

    ];
}

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

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

4

2 回答 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

于 2017-11-29T13:42:57.720 回答
0

您可以UpdateRequest使用以下规则创建:

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

并使用此请求更新图像并创建StoreRequest将扩展自UpdateRequest以下规则的图像:

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

并使用此请求添加新图像

于 2015-12-24T13:13:29.563 回答