dongxing2015 2019-04-09 14:51
浏览 106
已采纳

如何在第一个参数的数组文件数组字段上使用required_if?

I have an with an array of image_file (image_file[1], image_file[2]). They are input of type file. This images are required only if another array of fields (proposition_type) is defined on 2.

For example :

  • if proposition_type[1] == 2, image_file[1] has to be filled ;
  • if proposition_type[2] == 1, image_file[2] has not to be filled.

I have tried to use the following rules :

$rules = [
    (...)
    'image_file.*' => 'required_if:proposition_type.*,2|image',
];

But any error on image_file fields is raised.

Moreover, I have used the required validator on my image_file.* and, here again, no error is raised.

Maybe someone has a solution for this ? Or maybe am I doing something wrong ? :)

Thanks !

  • 写回答

1条回答 默认 最新

  • dthh5038 2019-04-09 15:35
    关注

    If you would like to construct a more complex condition for the required_if rule, you may use the Rule::requiredIf method. This methods accepts a boolean or a Closure. When passed a Closure, the Closure should return true or false to indicate if the field under validation is required. Something like this may work for you:

     Validator::make($request->all(), [
     'image_file[1]' => Rule::requiredIf(function () use ($request) {
         if($request->proposition_type[1] == 2)
            return true;
         else
            return false;
     }),
     'image_file[2]' => Rule::requiredIf(function () use ($request) {
         if($request->proposition_type[2] == 1)
            return false;
         else
            return true;
     }),
    ]);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看