double check your routes definition ...
Oct 16, 2016
14
Level 2
Request class not returning validation errors
Request class not returning validation error on AJAX Requests. [laravel 5.2] This is my validation class
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
class MovieRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'title' => 'required|max:255',
'actors' => 'required',
'plot' => 'required',
'year' => 'required',
];
}
}
and this is my controller.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\MovieRequest;
use App\Models\Movie;
class MovieController extends Controller
{
public function store(MovieRequest $request)
{
dd($request->all());
}
}
Instead of showing errors it returns 404 error.
My route definition is fine, it's working when I request with valid data. This is the route.
$router->resource('movies', 'MovieController');
Level 122
I just tested with postman (on 5.3) and it seems to work exactly as expected.
Controller;
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Requests\TestRequest;
class TestController extends Controller
{
public function store(TestRequest $request)
{
return ([
$request->Hello,
$request->Numerics
]);
}
}
TestRequest
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class TestRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'Hello'=>'Required',
'Numerics' => 'Required'
];
}
}
web.php
Route::post('/test','TestController@store');
The only other thing I did to ease testing was to add '/test' to the csrf middleware exceptions
Then used postman. Headers;
Content-Type:application/json
Accept:application/json
Body set to Raw data
{"Hello":"World"}
422 response;
{"Numerics":["The numerics field is required."]}
4 likes
Please or to participate in this conversation.