Laravel:显示输入数组特定索引的错误消息

时间:2015-05-04 07:04:43

标签: php laravel

我有一个输入数组,我想输出每个特定索引的错误,所以如果我的$input[0]$input[1]遇到错误,他们应该显示,而另一个输入允许说{{1} }没有遇到错误,那就不应该显示:

$input[2]可能会让您感到困惑,因为我正在使用电子邮件。我只是使用电子邮件验证规则进行测试。

mmad_bonus_type

继承我的$length = $input['length']; $rules = array(); for($i = 0, $c = $length; $i < $c; $i++){ $rules['mmad_bonus_type'][$i] = 'email'; } $validator = Validator::make($input, $rules, $message); if($validator->fails()){ return Response::json($validator->messages()); } print_r($rules);

的输出
print_r

如果我运行代码,只输出 [mmad_bonus_type] => Array ( [0] => email [1] => email [2] => email [3] => email ) 输入的单个错误。

这是我输入的var_dump:

mmad_bonus_type

1 个答案:

答案 0 :(得分:2)

验证器对数组键使用array_dot表示法。例如,如果您有<input type="text" name="user[name]" />之类的输入,则您的验证规则会包含密钥&#39; user.name&#39;。

同样的格式也适用于数字索引。所以,例如,如果你有:

<input type="text" name="mmad_bonus_type[]" />
<input type="text" name="mmad_bonus_type[]" />
<input type="text" name="mmad_bonus_type[]" />

然后你的验证规则是:

$rules = array(
    'mmad_bonus_type.0' => 'email',
    'mmad_bonus_type.1' => 'email',
    'mmad_bonus_type.2' => 'email',
);

在您的情况下,我假设您有一个带有数字索引的mmad_bonus_type输入数组,因此您可能正在寻找类似的内容:

for($i = 0, $c = $length; $i < $c; $i++){
    $rules['mmad_bonus_type.'.$i] = 'email';
}