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

时间:2015-12-24 12:05:31

标签: laravel laravel-5 laravel-validation laravel-request

我使用Laravel 5

在更新,创建请求文件

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

    ];
}

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

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

2 个答案:

答案 0 :(得分:0)

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

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

并使用此请求更新图片,并使用以下规则创建StoreRequest UpdateRequest

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

并使用此请求添加新图片

答案 1 :(得分:0)

如何以 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值(默认情况下,它由DataBase自动分配),但是在编辑或更新的情况下,id将出现在请求中(默认记录由id值找到)和图片不是必需的 参考https://laravel.com/docs/5.5/validation#rule-required-without