【问题标题】:How to validate multiple input in the same (array) laravel如何验证同一(数组)laravel中的多个输入
【发布时间】:2019-04-07 20:27:16
【问题描述】:

我输入如下所示:

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

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

【问题讨论】:

    标签: php laravel validation


    【解决方案1】:

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

    这如何访问一个验证数组的每个成员。

    【讨论】:

    • 感谢帮忙,但验证还是不正确
    • 如果我理解正确,您想检查数组的每个元素是否符合某些标准
    • 'keyword.0' => 'required|unique:tablename,fieldname', 'keyword.1' => 'required|unique:tablename,fieldname|different:keyword.0'
    • 我记得值 1 最不等于值 2。不同之处在于
    【解决方案2】:

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

    'keyword.0' => 'required|unique:tablename,fieldname|different:keyword.1',

    【讨论】:

      猜你喜欢
      • 2016-10-12
      • 2017-11-13
      • 2014-09-20
      • 1970-01-01
      • 2019-08-02
      • 2021-12-07
      • 2021-03-06
      • 2016-07-22
      相关资源
      最近更新 更多