如何在同一(数组)laravel中验证多个输入

时间:2019-04-07 10:48:17

标签: php laravel validation

我的输入如下所示: enter image description here

<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'
    ]);
}

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

2 个答案:

答案 0 :(得分:0)

'keyword.0'=>'required | unique:tablename,fieldname', 'keyword.1'=>'必填|唯一:表名,字段名,

这是如何访问验证数组的每个成员的方法。

答案 1 :(得分:0)

如果输入相同,我想我忘了补充。

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