在我的刀片文件中
<form id=""
class="form-horizontal"
accept-charset="UTF-8"
action="/apply/post/{{$content->vacancy->Id}}"
method="POST">
我的routes.php
:
Route::get('/apply/post/{ref}', function($ref) {
// 1. Define some rules and validate...
$rules = array('forename' => array('required'), 'email' => array('required'), 'surname' => array('required'), 'address1' => array('required') );
$validator = Validator::make(Input::all(), $rules, array('required' => 'The :attribute is required.') );
if( $validator->fails() ) {
$messages = $validator->messages();
return Redirect::to("http://example.co.uk/apply/{$ref}")->withInput()->withErrors($messages);
} else {
// do stuff with Input::all()
}
}
无论我为Redirect::to()
尝试什么,即Redirect::back()
在提交表单后,我最终都会被重定向回http://example.co.uk/apply/post/234
,这会导致我找到未定义的路由和错误页面。
如果用户验证失败,我真的希望他们重定向回http://example.co.uk/apply/234
并显示错误/消息。通过这种方式,他们可以重新尝试使用最终提交给http://example.co.uk/apply/post/234
的表单输入正确的信息。
答案 0 :(得分:0)
您从表单
发布到路线method="POST"
但您的路线被定义为GET
Route::get('/apply/post/{ref}', function($ref) {
将其更改为POST
Route::post('/apply/post/{ref}', function($ref) {