我正在使用 Laravel 构建一个 REST API,想知道是否可以在验证时自定义 API 响应。
例如,我在一个 Laravel 请求中有一个验证规则,说一个特定的字段是必需的。
public function rules() {
return [
'title'=>'required|min:4|max:100',
];
}
因此,对于此验证,我在 Postman 中收到这样的错误消息
{
"title": [
"Please enter Ad Title"
]
}
我想要的是像这样自定义该响应..
{
"success": false,
"message": "Validation Error"
"title": [
"Please enter Ad Title"
]
}
因此,错误更加具体和清晰。
那么,如何实现呢?
谢谢!
最佳答案
为名为 messages
的 FormRequest
类提供一个自定义函数,并返回一组验证消息,这些消息使用 点符号
映射到特定的特定消息规则:
public function messages()
{
return [
'title.required' => 'Please enter an Ad title',
'title.min' => 'Your title must be at least 4 character'
]
}
返回success
消息是徒劳的,就好像它失败了一样,无论如何在执行ajax
请求时都会抛出422
错误代码。
至于 message
属性,您将收到它作为有效负载的一部分,其中实际的验证错误将包含在对象中。
关于php - 自定义 Laravel API 验证响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48156031/