therealbigpepe
therealbigpepe

Reputation: 1549

ReflectionException, class does not exist

Giving the next code I'm getting this error when I try to post to register:

ReflectionException in Route.php line 286: Class App\Http\Requests\ApiRegisterRequest does not exist

Routes

Route::group(['prefix' => 'api/v1'], function() {
    Route::post('login', 'API\ApiController@authenticate');
    Route::post('register', 'API\ApiController@register');
});

ApiController

namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;

class ApiController extends Controller
{
    public function register(\App\Http\Requests\ApiRegisterRequest $request)
    {
        dd($request);
    }
}

ApiRegisterRequest

namespace App\Http\Requests;

use App\Http\Requests\Request;

class ApiRegisterRequest extends Request
{
    /**
     * 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 [
            'first_name' => 'required:min:3',
            'email' => 'required'
        ];
    }

    public function messages()
    {
        $messages = [
            'first_name.required' => 'Has de introducir un nombre'
            'email.required' => 'Has de introducir un correo'
        ];

        return $messages;
    }
}

What am I doing wrong?

Upvotes: 1

Views: 2227

Answers (1)

shock_gone_wild
shock_gone_wild

Reputation: 6740

The Error is caused because you have a syntax error in ApiRegisterRequest.

  $messages = [
        'first_name.required' => 'Has de introducir un nombre'
        'email.required' => 'Has de introducir un correo'
    ];

You have missed the colon at the end of the first entryo of $messages array.

Replace your messages by this:

    $messages = [
        'first_name.required' => 'Has de introducir un nombre',
        'email.required' => 'Has de introducir un correo'
    ];

This should do the trick

Upvotes: 3

Related Questions