我有一张表格。上

时间:2014-03-04 15:43:47

标签: laravel

我有一张表格。验证失败后,我会重定向到同一页面。 “mobilepage1.blade.php”

但我的所有参赛作品都已消失。我希望我的所有参赛作品都留下来。执行密码。

我使用View::make

重定向我的页面
return View::make('mobilepages.mobilepage1', array('errormessages' => 'errormessages'));

我用:

$input = Input::all();

获取输入。

3 个答案:

答案 0 :(得分:1)

所有输入

return Redirect::to('mobilepages')->withInput(Input::all());

密码

return Redirect::to('mobilepages')->withInput(Input::except('password'));

Old Input

答案 1 :(得分:0)

在表单视图中,对输入使用类似的内容:

<?= Form::text('title', (Input::get('title') ?: NULL)); ?>

(Input::get('title') ?: NULL)运算符如果已设置则返回先前的title值,如果未设置,则返回任何值。

答案 2 :(得分:0)

应该使用以下内容完成:

public formSubmitMethod() // Change formSubmitMethod with appropriate one
{
    // This is the form submit handler
    // Set rules and validate the inputs

    $rules = array(...); // set rules here but there are other ways

    $inputs = Input::except('_token'); // everything but _token
    $validatior = Validator::make($input, $rules);
    if($validatior->fails()) {
        // Validation failed
        return Redirect::back()->withInput()->withErrors($validatior);
    }
    else {
        // Success
        // Do whatever you want to do
    }
}

在表单中,使用Input::old('fieldname'),如下所示:

{{ Form::input('username', Input::old('fieldname')) }}

就是这样,现在如果您重定向回来输入无效的用户输入,那么您的表单字段将重新填充旧值。不要在密码字段中使用old()方法。您还可以使用{{ $errors->first('username') }}之类的内容访问字段的错误消息,因此如果此(username)字段无效,则会打印出此字段的错误消息。

此外,请注意,要重定向,我使用Redirect::back()而非View::make(),它(make)不是用于重定向,而是用于呈现视图以显示它。