【问题标题】:Laravel validation rules for array数组的 Laravel 验证规则
【发布时间】:2017-07-09 11:45:08
【问题描述】:

我实际上需要做一个验证,它需要检查一个文件是

  1. 必填
  2. 数组
  3. 需要至少有两列
  4. 一个键名应该是correct_topic
  5. 另外一个需要wrong_topic

现在我正在为其他字段编写如下规则。

return [
         'category'   => 'required|numeric',
         'text' => 'required',
         'type' => 'required|numeric|in:1,2,3',
         'vendor'        => 'required|numeric|exists:users,id',
         'topic' => 'required|array'
       ];

我该如何改进这一点并包括上述对topic 的验证?

我在TopicRequest 类中编写这些规则。基本上我需要检查提交的 topic 是否是一个至少有 2 列且不超过 4 列的数组,其中一个数组键应该是 correct-topic 其他需要是 wrong_topic_1 等。

是否有任何默认验证规则可以有效地用于这种情况?

【问题讨论】:

  • 不清楚问题
  • 您必须为主题编写自定义验证规则。
  • 输入的任何示例?

标签: php laravel validation


【解决方案1】:

您可以创建自己的验证器。Laravel Valditation

【讨论】:

    【解决方案2】:

    您可以使用第一个array 验证并使用dot notation 验证样式来完成上述验证列表,如下所示:

    return [
        ................
         'topic' => 'required|array|min:2|max:4',
         'topic.correct_topic' => 'required',
         'topic.wrong_topic' => 'required'
    ];
    

    根据 Laravel 文档使用最小值和最大值,在文​​件字段上使用 the size rule我认为这也应该与数组相关,即采用 count() 方法。参考min-heremax-here

    PS:我不能确定这是否真的特别解决了您的问题,但我相信它应该会给您所需的答案带来启发。

    如有疑问也可以参考Validating Arrays

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2020-12-23
      • 2020-09-06
      • 1970-01-01
      • 2015-02-21
      • 2020-06-09
      相关资源
      最近更新 更多