我在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方法提交细节,我仍然无法理解为什么我会这样做。 任何帮助,将不胜感激。
答案 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']) !!}