【问题标题】:Laravel validate array values contained in listLaravel 验证列表中包含的数组值
【发布时间】:2021-11-26 09:56:48
【问题描述】:

我正在向我的 api 的请求中传递一个数组。数组中的每个值都必须在预定义的列表中。

如果我的列表是:name,description,title

name, title //valid
different, title //invalid

我试过array|in:name,description,title,但我认为我只能传递一个字符串。

我可以在不使用自定义规则的情况下执行此操作吗?

【问题讨论】:

  • 这个问题有帮助吗:stackoverflow.com/questions/42258185/…
  • 你说“..我认为我只能传递一个字符串”是什么意思?这是否意味着您的数组不包含字符串?
  • 我认为您的链接确实有帮助 'values.*' => 'string|in:name,title,description' 似乎有效
  • 很高兴听到它有帮助。也许添加您自己的答案并接受它,这样您的问题就不会显示为未回答:)

标签: laravel


【解决方案1】:

验证数组中的每个字符串:

'values.*' => 'string|in:name,title,description'

【讨论】:

    【解决方案2】:

    看看"Validating Nested Array Input"

    如果我对您的理解正确,您的验证规则应该是(未经测试)

    [
       '*.name' => 'required|string',
       '*.description' => 'required|string',
    ]
    

    也许你也想exclude unvalidated Keys

    【讨论】:

      猜你喜欢
      • 2014-12-29
      • 2021-08-24
      • 1970-01-01
      • 2021-09-12
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      • 2019-12-18
      相关资源
      最近更新 更多