【发布时间】:2014-09-23 13:10:26
【问题描述】:
我的问题是,当我提交表单时,它会通过 get 方法。 工作流程是表单提交 -> 获取 -> 发布,它应该是表单提交 -> 发布。 我需要在我的 get 方法中有一个条件来验证 de 数组不为空
我的代码: 路线
Route::get('/pre-register-birth',array('as'=>'pre-register-birth', 'uses'=>'UserController@preRegisterBirthData'));
Route::post('/pre-register-birth', 'UserController@preRegisterBirthDataPost');
查看
{{ Form::open(array('method' => 'POST', 'action' => 'UserController@preRegisterBirthDataPost',
'class'=>'form-horizontal', 'id'=>'regist-form')) }}
控制器
public function preRegisterBirthData()
{
$user = Session::get('user');
if ($user)
return View::make('user/pre-register-birth')->with('tempUser', $user);
else
return Redirect::Route('pre-register-get');
}
public function preRegisterBirthDataPost()
{
$validator = Validator::make(Input::all(),
array(
'birthplace' => 'required|max:100',
'birthdate' => 'required|max:100|date|date_format:Y-m-d'
)
);
if ($validator->fails()) {
return Redirect::Route('pre-register-birth')
->withErrors($validator)
->withInput();
} else {
$user = array(
'email' => Input::get('email'),
'pass' => Input::get('pass'),
'name' => Input::get('name'),
'surname' => Input::get('surname'),
'birthplace' => Input::get('birthplace'),
'birthdate' => Input::get('birthdate'),
'hourKnow' => Input::get('hourKnow'),
'dataCorrect' => Input::get('dataCorrect'),
'news' => Input::get('news'),
);
return Redirect::Route('pre-register-terms')->with('user', $user);
}
}
【问题讨论】:
-
请您也添加您生成的 HTML 吗? (在浏览器中查看源代码时的 HTML)
-
将表单中的
action更改为/pre-register-birthLaravel 将处理它的 post 请求,查看您的路由,然后将其发送到您想要的控制器方法。你有什么理由不使用标准的 Laravel 控制器方法和设置? -
您的解决方案不起作用,您的标准 Laravel 控制器方法和设置是什么意思。
-
通常你的路由和你的控制器方法有关,你的方法和你的HTTP请求方法有关。例如,
UserController上的getIndex和postIndex将具有/user的路由。你看过Laracast videos吗?可能有用。