首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel验证: required_with或required_with_all条件总是通过

Laravel验证: required_with或required_with_all条件总是通过
EN

Stack Overflow用户
提问于 2018-09-17 10:56:55
回答 1查看 739关注 0票数 1

here也发布了类似的帖子,但在我的例子中仍然不起作用。

代码语言:javascript
复制
$v = \Validator::make($keys, [
            'overall' => 'required',
            'taste' => 'sometimes|required_with_all:freshness, quantity, value',
            'freshness' => 'sometimes|required_with_all:taste, quantity, value',
            'quantity' => 'sometimes|required_with_all:taste, freshness, value',
            'value' => 'sometimes|required_with_all: taste, quantity, freshness'
        ]);

dd($v->fails()); //-> false should be true

我想总结一下我正在做的事情:

  • 我有针对不同类型的报价的评级系统。
  • “总体”总是必需的,不管它是哪种类型的。
  • 像食物这样的报价有“总体、味道、新鲜、数量和价值”的评级类型。
  • 然而,由于有许多提供类型--“口味、新鲜程度、数量和价值”--并不是唯一的评级类型。在未来,还会有更多的(例如,对电子书的评级(你不会对品味进行评分等)。
  • “味道,新鲜,数量和价值”只是可选的,但如果只有一个存在,一切都应该是必需的。

我试着用"required_with“来做它,但是它不起作用。

我的示例数组是:

代码语言:javascript
复制
array:4 [
  "overall" => 0
  "freshness" => 1
  "quantity" => 2
  "value" => 3
]

失去了“品味”。

那我做错什么了?

如果我完全理解这些文档:

只有当所有其他指定字段都存在时,required_with_all:foo、bar、.被验证的字段才必须存在。

这意味着如果:

例如,“味觉‘=> 'sometimes|required_with_all:freshness,quantity,value',是指当新鲜度、数量、价值存在,而param’味觉‘不存在时,则会出现验证错误。

但它不是..。

EN

回答 1

Stack Overflow用户

发布于 2018-09-17 11:10:22

--有时是:字段--只有在数据数组中存在时才会被验证。

由于示例数组中没有显示taste,所以它不会进行验证。尝试不使用sometimes

'taste' => 'required_with_all:freshness, quantity, value'

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52366174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档