MethodNotAllowedHttpException表单错误

时间:2017-11-23 14:35:37

标签: php forms laravel

我在Laravel中创建了一个表单,所以这里是以下文件: 有人应提交一些细节的表格, contact.blade.php:

@extends('layouts.layout')


@section('content')

    <main role="main">

      <section class="jumbotron text-center">
        <div class="container">
          <h1 class="jumbotron-heading">Laravel demo</h1>

          <p class="lead text-muted">Please fill the form</p>
          @if(count($errors) > 0)
            @foreach($errors->all() as $error)
              <div class="alert alert-danger">
               {{$error}}
              </div>

            @endforeach
          @endif

        </div>
      </section>

      <div class="album text-muted">
        <div class="container">


          {!! Form::open(['url' => 'contact/submit']) !!}
          {!! csrf_field() !!}
            <div class="form-group">
            {{Form::label('name', 'Name') }}
            {{Form::text('name', 'Enter Name', ['class'=> 'form-control'])}}
            </div>
            <div class="form-group">
            {{Form::label('email', 'E-Mail Address') }}
            {{Form::text('email', 'example@gmail.com', ['class'=> 'form-control'])}}
            </div>
            <div class="form-group">
            {{Form::label('message', 'Enter Message') }}
            {{Form::textarea('message', 'Enter Message', ['class'=> 'form-control'])}}
            </div>
            <div>
            {{Form::submit('Submit', ['class'=> 'btn btn-primary'])}}
            </div>

          {!! Form::close() !!}

        </div>
      </div>

    </main>

@endsection

控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class MessageController extends Controller
{
    public function submit(Request $request){

      $this->validate($request, [
          'name' => 'required',
          'email' => 'required'
      ]);

      return 'SUCCESS';
    }
}

* 在Routes web.php文件中,我已将该方法包含在帖子中:

Route::get('/', function () {
    return view('home');
});

Route::get('/contact', function () {
    return view('contact');
});

Route::post('/contact/submit', 'MessageController@submit');

错误消息是&#34; RouteCollection.php(第251行)&#34;在这里搜索类似的场景之后,当你在路径中使用与指定路线方法不同的方法时,问题就会发生。我使用POST方法提交细节,我仍然无法理解为什么我会这样做。 任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:0)

而不是{!! Form :: open([&#39; url&#39; =&gt;&#39;联系/提交&#39;])!!}

试试这个。

{!! Form :: open([&#39;方法&#39; =&gt;&#39; POST&#39;,&#39; action&#39; =&gt;&#39; MessageController @ submit&#39;])! !}

答案 1 :(得分:-1)

将反斜杠添加到表单的url中,如下所示:

{!! Form::open(['url' => '/contact/submit']) !!}