我正在laravel 5.4.22中构建一个基本表单,但它没有被提交,当我点击提交时它只停留在同一页面上,只是将网址改为不同的 我用过这条路线
function matchPut(regexp, str) {
var match = str.match(regexp);
if(match[1] === "") {
match[1] = "1";
}
return match;
}
result = matchPut(/(\d*)(\D)/,"L");
console.log(result);
这是我使用
的控制器 Route::post('/contact/submit', 'MessagesController@submit');
&安培;这是我的联系表格
`<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MessagesController extends Controller
{
public function submit(Request $request){
this->validate($request, [
'name' => 'required',
'email' =>'required'
]);
return 'SUCCESS';
}
}; `
,这是我连接其他东西的主页
@extends('layouts.app')
@section('content')
<H1>Contact</H1>
{!! Form::open(['action'=>'MessagesController@submit','method'=>'post']) !!}
<div class="form-group">
{{Form::label('name', 'Name')}}
{{Form::text('name', '', ['class' => 'awesome form-control', 'placeholder' => 'Enter name'] )}}
</div>
<div class="form-group">
{{Form::label('email', 'E-Mail Address')}}
{{Form::text('email', '', ['class' => 'awesome form-control', 'placeholder' => 'Enter Email id'])}}
</div>
<div class="form-group">
{{Form::label('messages', 'Message')}}
{{Form::textarea('message', '', ['class' => 'form-control', 'placeholder' => 'Enter your message here'])}}
</div>
<div>
{{Form::submit('Submit', ['class'=> 'btn btn-primary'])}}
</div>
{!! Form::close() !!}
@endsection
答案 0 :(得分:1)
尝试将斜杠添加到网址的beginnig,并将方法设置为&#39; POST&#39;
{!! Form::open(['url' => '/contact/submit', 'method'=>'POST']) !!}
我还建议你为所有路线命名,如:
Route::post('/contact/submit', 'MessagesController@submit')->name('messages.submit');
然后您可以在表单中使用它:
{!! Form::open(['route' => 'messages.submit', 'method'=>'POST']) !!}
答案 1 :(得分:1)
首先,始终使用REQUEST文件进行验证,这是迄今为止的最佳实践。 第二个而不是:
{!! Form::open(['url' => 'contact/submit']) !!}
使用类似的东西:
{!! Form::open(['action'=>'Yourcontroller@youraction','method'=>'post']) !!}