如何在laravel中验证数组输入?

时间:2016-12-09 18:51:46

标签: php laravel-5

url : "/chat?loadModule=3&id=<?=$id?>",

我尝试过这样的验证,但是无法正常工作

<input type="text" name="name[2]">

- Laravel Framework版本5.3.26

2 个答案:

答案 0 :(得分:2)

一种不错的方法是使用Form Requests并为数组创建动态规则,例如

public function rules()
{
  $rules = [
    'name' => 'required|max:255',
  ];

  foreach($this->request->get('items') as $key => $val)
  {
    $rules['items.'.$key] = 'required|max:10';
  }

  return $rules;
}

以下是一篇很好的文章:https://ericlbarnes.com/2015/04/04/laravel-array-validation/

答案 1 :(得分:0)

您还可以验证数组的每个元素。例如,要验证给定数组输入字段中的每个电子邮件都是唯一的,您可以执行以下操作:

$validator = Validator::make($request->all(), [
   'person.*.email' => 'email|unique:users',
   'person.*.first_name' => 'required_with:person.*.last_name', 
]);