Laravel withError 函数不工作
Laravel withError function not working
我正在测试这个新框架 (Laravel),到目前为止,我一直在关注他们放在文档中的那些示例。一切顺利,直到我遇到这个问题。
我正在呼叫 Redirect::to('\signup')->withErrors($validator->messages());
但它没有显示任何内容
但如果我只是像 print_r($validator->messages());
那样打印它,它会向我显示错误。请帮帮我,告诉我哪里错了?
控制器
public function registerUser(){
$validator = Validator::make(Input::all(),array(
'username' => 'required|email|unique:user',
'password' => 'required|min:8',
'fullname' => 'required'
)
);
if($validator->fails()){
return Redirect::to('signup')->withInput()->withErrors($validator);
}else{
return Redirect::route('user');
}
}
路线
Route::get('/signup',array('as'=>'signup', 'uses'=>'HomeController@signUp'));
查看
<?php print_r($errors) ; ?>
以下是Laravel网站的相关信息:
Route::post('register', function()
{
$rules = array(...);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
return Redirect::to('register')->withErrors($validator);
}
});
您可以像这样从 Blade 中参考...
<?php echo $errors->first('email'); ?>
注意到 $errors 是一个对象了吗?您调用 print_r($errors)
可能不会产生非常有用的输出。
试试这个...
<?php
var_dump($errors->first('username'));
var_dump($errors->first('password'));
var_dump($errors->first('email'));
?>
另外: 您的 unique:用户验证应该是 unique:user,username
。使用数据库 table 名称和列名称,而不是模型值。
注意:如果您在浏览器中对此进行测试,您可能需要研究使用 Clockwork,它允许您从浏览器中查看会话信息而无需print_r/var_dump 个电话。
问题是我在 session
文件(在 config
文件夹中)中将 secure
选项更改为 true,并在没有 https
的情况下在本地服务器上对其进行测试。这就是为什么我的错误没有显示在视图中的原因。
我正在测试这个新框架 (Laravel),到目前为止,我一直在关注他们放在文档中的那些示例。一切顺利,直到我遇到这个问题。
我正在呼叫 Redirect::to('\signup')->withErrors($validator->messages());
但它没有显示任何内容
但如果我只是像 print_r($validator->messages());
那样打印它,它会向我显示错误。请帮帮我,告诉我哪里错了?
控制器
public function registerUser(){
$validator = Validator::make(Input::all(),array(
'username' => 'required|email|unique:user',
'password' => 'required|min:8',
'fullname' => 'required'
)
);
if($validator->fails()){
return Redirect::to('signup')->withInput()->withErrors($validator);
}else{
return Redirect::route('user');
}
}
路线
Route::get('/signup',array('as'=>'signup', 'uses'=>'HomeController@signUp'));
查看
<?php print_r($errors) ; ?>
以下是Laravel网站的相关信息:
Route::post('register', function()
{
$rules = array(...);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
return Redirect::to('register')->withErrors($validator);
}
});
您可以像这样从 Blade 中参考...
<?php echo $errors->first('email'); ?>
注意到 $errors 是一个对象了吗?您调用 print_r($errors)
可能不会产生非常有用的输出。
试试这个...
<?php
var_dump($errors->first('username'));
var_dump($errors->first('password'));
var_dump($errors->first('email'));
?>
另外: 您的 unique:用户验证应该是 unique:user,username
。使用数据库 table 名称和列名称,而不是模型值。
注意:如果您在浏览器中对此进行测试,您可能需要研究使用 Clockwork,它允许您从浏览器中查看会话信息而无需print_r/var_dump 个电话。
问题是我在 session
文件(在 config
文件夹中)中将 secure
选项更改为 true,并在没有 https
的情况下在本地服务器上对其进行测试。这就是为什么我的错误没有显示在视图中的原因。