【发布时间】:2014-08-21 02:20:58
【问题描述】:
我正在尝试对控制器中的表单字段进行基本验证检查。代码如下:
$validator = Validator::make(
array('email' => 'required|min:7'),
array('password' => 'required|min:7'),
array('firstName' => 'required'),
array('lastName' => 'required'));
if ($validator->fails())
{
// The given data did not pass validation
/*Get error msgs from validator*/
return Redirect::to('members.registration')->withErrors($validator);
}
这里传递给 Redirect::to 的参数是文件夹成员和驻留在其中的注册视图。问题是由这一行引起的:
return Redirect::to('members.registration')->withErrors($validator);
当它被注释掉时,表单提交返回一个空白的白页。否则显示图片中如下错误
路由文件有以下内容:
Route::get('/', 'MainController@index');
Route::get('membersaccess', array('as' => 'membersaccess', 'uses' => 'MainController@loadMembersAccess'));
Route::get('signin', array('as' => 'signin', 'uses' => 'MembersController@loadlogin'));
Route::get('signup', array('as' => 'signup', 'uses' => 'MembersController@loadRegistration'));
Route::post('postLogin', array('as' => 'postLogin', 'uses' => 'MembersController@login'));
Route::post('postRegistration', array('as' => 'postRegistration', 'uses' => 'MembersController@registration'));
包含验证部分的函数是:
public function registration()
{
$email = Input::get('email');
$password = md5(Input::get('password'));
$firstName = Input::get('firstName');
$lastName = Input::get('lastName');
$country = Input::get('country');
//echo $email;
$validator = Validator::make(
array('email' => 'required|min:7'),
array('password' => 'required|min:7'),
array('firstName' => 'required'),
array('lastName' => 'required'));
if ($validator->fails())
{
// The given data did not pass validation
/*Get error msgs from validator*/
return Redirect::to('members.registration')->withErrors($validator);
}
}
及参考表格:
@if(Session::has('errors'))
<? $errors = Session::get('errors'); ?>
<h3> {{ $errors->first('email') }}</h3>
@endif
{{ Form::open(array('route' => 'postRegistration')) }}
{{ Form::text('email', null, array('placeholder'=>'Email', 'class' => 'randomfieldsize' ) ) }}
{{ Form::password('password', array('placeholder'=>'Password', 'class'=>'randomfieldsize' ) ) }}
{{ Form::text('firstname', null, array('placeholder'=>'First Name', 'class' => 'randomfieldsize' ) ) }}
{{ Form::text('lastName', null, array('placeholder'=>'Last Name', 'class' => 'randomfieldsize' ) ) }}
{{ Form::select('country', array('' => '', 'saudi' => 'Saudi Arabia', 'uae' => 'UAE')) }} <br><br>
{{Form::submit('Proceed', ['class' => 'button [radius round]'])}}
{{ Form::close() }}
【问题讨论】:
标签: validation laravel laravel-4