【问题标题】:how to use validation rules exists for image upload field in Laravel 5如何使用验证规则存在于 Laravel 5 中的图像上传字段
【发布时间】:2017-11-29 21:49:56
【问题描述】:

我使用 Laravel 5

在更新中,创建请求文件

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

    ];
}

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

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

【问题讨论】:

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


    【解决方案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

    【讨论】:

      【解决方案2】:

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

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

      并使用此请求更新 Image 并创建 StoreRequest,该 StoreRequest 将从 UpdateRequest 扩展,具有以下规则:

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

      并使用此请求添加新图像

      【讨论】:

        猜你喜欢
        • 2015-10-18
        • 1970-01-01
        • 2016-06-03
        • 2016-04-30
        • 2017-08-26
        • 2017-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多