首页 > 解决方案 > 如何验证同一(数组)laravel中的多个输入

问题描述

我输入如下所示: 在此处输入图像描述

<input name="keyword[]" type="text" id="keyword" value="" ... required>
<input name="url[]" type="text" id="url" value="" ... required>

这是在其中形成数组的输入请求的结果:

array:4 [▼
  "_token" => "LSgeBGHL6QQEkirJFcSLC4T045vb2M4afsi48NeC"
  "category_id" => "1266"
  "keyword" => array:2 [▼
    0 => "test"
    1 => "test"
  ]
  "url" => array:2 [▼
    0 => "/search/test"
    1 => "/search/test"
  ]
]

如果输入数组相同并且数据在无法输入之前已经在数据库中,我想进行验证。我尝试使用如下验证,但它不起作用并收到错误消息。

public function postAdd()
{
    $data = \Input::all();

    $this->validate($data, [
        'keyword.*' => 'required|sometimes|unique',
        'url.*' => 'required|sometimes|unique'
    ]);
}

请帮助我能够在数组中进行相同的输入验证,并验证输入的数据是否已存在于数据库中。谢谢!

标签: phplaravelvalidation

解决方案


如果输入相同,我想我忘了添加。

'keyword.0' => '必需|唯一:表名,字段名|不同:keyword.1', 


推荐阅读