PHP laravel 5验证错误,输入名称作为关键字

PHP laravel 5 validation errors with input name as key

本文关键字:关键字 输入 laravel 验证 错误 PHP      更新时间:2023-09-26

我正在尝试为laravel制作一个基于ajax的表单,但我使用laravel验证方法来检查输入。

验证错误返回一个基本的错误列表,但是我需要将特定的输入名称用作数组中每个项的键。我将需要这一点,所以我可以添加消息旁边的输入通过javascript。

我已经看了文档,但似乎找不到任何可以做到这一点。我想避免单独检查每个输入的错误,这样我就可以在其他表单上重用代码。

我在这里错过了什么吗,关于如何实现这一点有什么想法吗?

PHP

$rules = ['username' => 'required', 'password' => 'required'];
$validator = Validator::make(Request::input(), $rules);
if($validator->fails())
{
    $data = $validator->errors()->all();
}
结果:

$data = [
    0 => 'The username field is required.',
    1 => 'The password field is required.'
]

期望结果:

$data = [
    'username' => 'The username field is required.',
    'password' => 'The password field is required.'
]

$validator->errors()->messages()代替$validator->errors()->all()来获取错误的输入名称:

$data = [
    'username' => [
        0 => "The username field is required."
    ],
    'password' => [
        0 => "The password field is required."
    ],
 ];

我想你弄错了。

$data = ['validation' => $validator->errors()->all()];

试试这个

$rules = ['username' => 'required', 'password' => 'required'];
$validator = Validator::make(Request::input(), $rules); 
if($validator->fails()) { 
$data = $validator->errors()->all(); 
}