I'm trying to use Laravel validation to generate custom error message, however I'm unable to find the function I should be overriding.
Route: POST:/entries/
uses EntryController@store
which uses EntryStoreRequest
to perform validation.
EntryStoreRequest
namespace App\Api\V1\Requests;
class EntryStoreRequest extends ApiRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'message' => [
'string',
'required',
'max:65535',
],
'code' => [
'string',
'max:255',
'nullable'
],
'file' => [
'string',
'max:255',
'nullable'
],
'line' => [
'string',
'max:255',
'nullable'
],
'stack' => [
'string',
'max:65535',
'nullable'
]
];
}
}
ApiRequest
namespace App\Api\V1\Requests;
use Illuminate\Foundation\Http\FormRequest;
abstract class ApiRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
}
The errors are currently returned as:
{
"message": "The given data was invalid.",
"errors": {
"message": [
"The message field is required."
]
}
}
I want to format them as:
{
"data": [],
"meta: {
"message": "The given data was invalid.",
"errors": {
"message": [
"The message field is required."
]
}
}
How can I achieve this within the ApiRequest
class?