Laravel请求验证消息格式

Laravel请求验证消息格式,laravel,Laravel,使用, 如何自定义响应格式? 例如,它将错误消息显示为:- { "password": ["The password field is required."], "password_confirmation": ["The password confirmation field is required."] } 我想将所有错误消息放入description属性,类似于 { "status" : false, "description" : ["The pas

使用,
如何自定义响应格式?

例如,它将错误消息显示为:-

{
    "password": ["The password field is required."],
    "password_confirmation": ["The password confirmation field is required."]
}
我想将所有错误消息放入description属性,类似于

{
    "status" : false,
    "description" : ["The password field is required.", "The password confirmation field is required."]
}

在您提供的文档链接的正下方:

您可以通过自定义表单请求使用的错误消息 重写messages方法。此方法应返回 属性/规则对及其相应的错误消息

因此,请在您的请求中添加以下内容:

public function messages()
{
    return [
        'password.required' => 'The password field is required.',
        'password_confirmation.required'  => 'The password confirmation field is required.',
    ];
}

创建自定义验证消息的另一种方法是将自己的消息数组传递给控制器操作中的
validate
函数。
validate
函数将带有自定义消息的数组作为第三个参数

公共函数列表(请求$Request)
{
$messages=[
“search_input.alpha_dash'=>“请输入有效的搜索词。仅使用字母、破折号和下划线。”,
];
$this->validate$请求[
“搜索输入”=>“字母破折号”,
](),;
返回视图('videos.index');
}

要将所有错误消息提取到一个数组中,您需要执行以下操作

$validator = Validator::make($request->all(), [
    'password' => 'required',
    'password_confirmation' => 'required|same:password',
]);

$messages = $validator->errors()->toArray();
/* ** This will give you something like this **
*
*       'password' => 'The password field is required.',
*       'password_confirmation' => 'The password confirmation field is required.'
*
* **/

// If you want only array values - as your example of description, then use php's array_values() method like this...

$description_arr = array_values($messages);
谢谢,希望这能对你有所帮助。。!! 为了更好地理解Laravel验证,请查阅其文档-

$validator = Validator::make($request->all(), [
    'password' => 'required',
    'password_confirmation' => 'required|same:password',
]);

$messages = $validator->errors()->toArray();
/* ** This will give you something like this **
*
*       'password' => 'The password field is required.',
*       'password_confirmation' => 'The password confirmation field is required.'
*
* **/

// If you want only array values - as your example of description, then use php's array_values() method like this...

$description_arr = array_values($messages);