Laravel使用输入和错误重定向回发帖和渲染

时间:2014-06-18 20:12:40

标签: laravel-4

我有一个AJAX应用程序,我正在使用Laravel 4。

我通过绑定表单,序列化和返回来发布表单。服务器的响应是JSON,因此可以给出更多的变量。

对于普通页面,我只需返回

View::make('something')->render();

但是当发布并返回错误时,系统会失败。我很想做像

这样的事情
Redirect::back()->withInput()->withErrors($validation->messages())->render();

这失败了,我能理解。

所以我试过

View::make('something')->withInput()->withErrors($validation->messages())->render();

这也看不到View::make没有函数withInput

所以为了解决这个问题,我使用了

{{ Form::input('email', 'email', (isset($input['email'])) ? e($input['email']) : null, array('class' => 'form-control validation', 'placeholder' => Lang::get('global.placeholder.email'))); }}

但我不想为看到丑陋的值做if语句(即使在默认情况下呈现为空时也接受$ errors)。

所以问题是:有没有办法用输入渲染视图/重定向。

1 个答案:

答案 0 :(得分:0)

如前所述,它将成为一个典范:

Class DefaultValues {

    // set default values or define inputs
    public static $oInputs as array(
        'email' => '',
        'password' => '',
    );

    public function catchEmpty() {
        if(Request::is_post()) {
            foreach(self::$oInputs as $sInputKey => $sValue) {
                Input::post($sInputKey) = (isset(Input::post($sInputKey)) ? Input::post($sInputKey) : $sValue;
            }
        }
        if(Request::is_get()) {
            foreach(self::$oInputs as $sInputKey => $sValue) {
                Input::get($sInputKey) = (isset(Input::get($sInputKey)) ? Input::get($sInputKey) : $sValue;
            }
        }
    }
}

通过这种方式,您可以保持刀片状态。没有改变到$输入。对我来说更好看,因为我懒惰。

只需使用:

View::make('something')->render();

Input::[something]([something]);可以正常使用。但是你仍然不得不设置它。

请在需要时发表评论。