Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

leonyu's avatar

[L5] Error when using Form::open route

[L5] Problems for Form::open for route

Using route annotations and based on http://laravel.io/forum/09-01-2014-class-form-not-found , I need to enable Form class before I can use it. Below are my steps :

within shell, I type :

 composer require illuminate/html
 composer update

Then at config/app.php within providers array , I add :

 'Illuminate\Html\HtmlServiceProvider'

and within aliases array , I add :

 'Form'  => 'Illuminate\Html\FormFacade',
 'HTML'  => 'Illuminate\Html\HtmlFacade'

After that, I can use <!! Form::open(['url'=>"home"]) !!}.

But I'm getting an error messages, if within my blade I use Form:: route like below :

 {!! Form::open(['route'=>'home.test']) !!}
   {!! Form::text('name') !!}
   {!! Form::password('password') !!}
   {!! Form::submit('Send') !!}
 {!! Form::close() !!}

How to fix this so I can use {!! Form::open(['route'=>'home.test']) !!} ?

Below are the error messages that I got :

 Whoops, looks like something went wrong.
 2/2 ErrorException in UrlGenerator.php line 237: Route [home.test] not defined. (View: D:\www\testl5\resources\views\test.blade.php)
  in UrlGenerator.php line 237
  at CompilerEngine->handleViewException(object(InvalidArgumentException), '1') in PhpEngine.php line 41
  at PhpEngine->evaluatePath('D:\www\testl5/storage/framework/views/3ebe4747b250f5f89d28e742945c4ab5', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag))) in CompilerEngine.php line 56
  at CompilerEngine->get('D:\www\testl5/resources/views/test.blade.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag))) in View.php line 135
  at View->getContents() in View.php line 103
  at View->renderContents() in View.php line 77
  at View->render() in Response.php line 43
  at Response->setContent(object(View)) in Response.php line 202
  at Response->__construct(object(View)) in Router.php line 1167
  at Router->prepareResponse(object(Request), object(View)) in Router.php line 645
  at Router->dispatchToRoute(object(Request)) in Router.php line 600
  at Router->dispatch(object(Request)) in Kernel.php line 122
  at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
  at call_user_func(object(Closure), object(Request)) in Stack.php line 111
  at Stack->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 43
  at VerifyCsrfToken->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 55
  at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 51
  at StartSession->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 36
  at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 40
  at EncryptCookies->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
  at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request))
  at call_user_func(object(Closure), object(Request)) in Stack.php line 82
  at Stack->then(object(Closure)) in Kernel.php line 75
  at Kernel->handle(object(Request)) in Kernel.php line 32
  at Kernel->handle(object(Request)) in index.php line 53



 1/2 InvalidArgumentException in UrlGenerator.php line 237: Route [home.test] not defined.

  in UrlGenerator.php line 237
  at UrlGenerator->route('home.test') in FormBuilder.php line 806
  at FormBuilder->getRouteAction('home.test') in FormBuilder.php line 763
  at FormBuilder->getAction(array('route' => 'home.test')) in FormBuilder.php line 104
  at FormBuilder->open(array('route' => 'home.test')) in Facade.php line 208
  at Facade::__callStatic('open', array(array('route' => 'home.test'))) in 3ebe4747b250f5f89d28e742945c4ab5 line 6
  at FormFacade::open(array('route' => 'home.test')) in 3ebe4747b250f5f89d28e742945c4ab5 line 6
  at include('D:\www\testl5\storage\framework\views\3ebe4747b250f5f89d28e742945c4ab5') in PhpEngine.php line 37
  at PhpEngine->evaluatePath('D:\www\testl5/storage/framework/views/3ebe4747b250f5f89d28e742945c4ab5', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag))) in CompilerEngine.php line 56
  at CompilerEngine->get('D:\www\testl5/resources/views/test.blade.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag))) in View.php line 135
  at View->getContents() in View.php line 103
  at View->renderContents() in View.php line 77
  at View->render() in Response.php line 43
  at Response->setContent(object(View)) in Response.php line 202
  at Response->__construct(object(View)) in Router.php line 1167
  at Router->prepareResponse(object(Request), object(View)) in Router.php line 645
  at Router->dispatchToRoute(object(Request)) in Router.php line 600
  at Router->dispatch(object(Request)) in Kernel.php line 122
  at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
  at call_user_func(object(Closure), object(Request)) in Stack.php line 111
  at Stack->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 43
  at VerifyCsrfToken->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 55
  at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 51
  at StartSession->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 36
  at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 40
  at EncryptCookies->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
  at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Stack.php line 96
  at Stack->Illuminate\Routing\{closure}(object(Request))
  at call_user_func(object(Closure), object(Request)) in Stack.php line 82
  at Stack->then(object(Closure)) in Kernel.php line 75
  at Kernel->handle(object(Request)) in Kernel.php line 32
  at Kernel->handle(object(Request)) in index.php line 53

Any help so I can use {!! Form::open(['route'=>'home.test']) !!} ?

0 likes
4 replies
arabsight's avatar

Route [home.test] not defined, that's your problem, you have no route with that name. the {!! Form::open(['route'=>'routename']) !!} works fine.

abhimanyusharma003's avatar

Like @arabsight said, your route is not defined.

If you are suing annotations do something like this.

 /**
  * Show the Project.
  *
  * @Before("auth")
  * @Get("home/{project}", as="home.test")
  */
    public function test($project)
    {
        //
    }
Devon's avatar

If you're using annotated routes, be sure to add the following to your app/Providers/RouteServiceProvider.php:


/** * Determines if we will auto-scan in the local environment. * * @var bool */ protected $scanWhenLocal = true; /** * The controllers to scan for route annotations. * * @var array */ protected $scan = [ 'App\Http\Controllers\HomeController', 'App\Http\Controllers\AuthController', 'App\Http\Controllers\PasswordController', ];

Anytime you use annotated routes in a new controller, you need to add the qualified class name for that controller to the $scan array.

leonyu's avatar
leonyu
OP
Best Answer
Level 3

Ok, Done. The solution is at the HomeController.php and before public function test() , I add :

 /**
   * Display a listing of the resource.
   * @Post("test", as="home.test")
   * @return Response
   */
  public function test()
  {
      return 'test';
  }
1 like

Please or to participate in this conversation.