【问题标题】:Laravel array validation in Form Request表单请求中的 Laravel 数组验证
【发布时间】:2017-07-20 22:44:48
【问题描述】:

我无法验证表单请求类中包含数组元素的字段。 规则方法:

public function rules()
{
    return [
        "state" => 'required',
        "state.0" => 'required',
        "state.*" => 'required',
    ];
}

request->all()中有一个数组

"state" => array:1 [
  0 => ""
]

零元素为空。但是验证成功。 我做错了什么?

【问题讨论】:

  • 它是空的,但它存在。如果添加 "state.0" => 'required|min:1' 会发生什么?
  • 您是否将规则调用到您的控制器中并在它未能通过时输出错误消息?
  • @Mjh, required 应该绰绰有余,不允许空字段通过。
  • 这是什么版本的 laravel?

标签: php laravel


【解决方案1】:

为了处理动态字段,您需要遍历所有已发布的"items" 并为每个添加一个规则 .
这是一个更新的方法来证明这一点:

public function rules() {
    $rules = [
          'state' => 'required',
         ];
    foreach($this->request->get('state') as $key => $val) {
        $rules['state.'.$key] = 'required';
    }
    return $rules;
}

【讨论】:

    猜你喜欢
    • 2016-08-10
    • 2016-09-02
    • 2021-02-15
    • 2016-05-23
    • 2016-03-11
    • 2015-06-09
    • 1970-01-01
    • 2020-09-11
    相关资源
    最近更新 更多