0

我正在测试这个新框架(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) ; ?>
4

2 回答 2

3

以下是来自 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'));
?>

另外:唯一的:user 验证应该是unique:user,username. 使用数据库表名和列名,而不是模型值。

注意:如果您在浏览器中对此进行测试,您可能需要考虑使用Clockwork,它允许您在没有 print_r/var_dump 调用的情况下从浏览器查看会话信息。

于 2015-01-12T18:42:05.647 回答
0

问题是我在文件(文件夹中)中将secure选项更改为 true,并在没有. 这就是为什么我的错误没有显示在视图中。sessionconfighttps

于 2015-01-12T21:09:56.397 回答