Laravel 5输入旧是空的

时间:2015-02-20 08:03:19

标签: php laravel laravel-5

我的路线在这里

Route::get('sign-up', ['as' => 'signUp', 'uses' => 'UserController@signUpGet']);
Route::post('sign-up', ['as' => 'signUpPost', 'uses' => 'UserController@signUpPost']);

控制器

return redirect('signUp')->withInput();

并查看

    <form role="form" method="POST" action="{{route('signUpPost')}}"> 
        <input type="text" class="form-control" name="username" value="{{ old('username') }}">
</form>

{{old()}}函数返回空值。
编辑
我拿了

NotFoundHttpException in RouteCollection.php line 145:

6 个答案:

答案 0 :(得分:17)

您的问题看起来好像您实际上并未首先提交用户名:

<form role="form" method="POST" action="{{route('signUpPost')}}"> 
        <input type="text" class="form-control" name="username" value="{{ old('username') }}">
</form>

没有提交&#39;表单内的按钮。如果您在表单外提交 - 则不会包含username

在表单中添加提交按钮 - 然后重试

<form role="form" method="POST" action="{{route('signUpPost')}}"> 
        <input type="text" class="form-control" name="username" value="{{ old('username') }}">
        <input type="submit" value="Submit">
</form>

编辑 - 您的控制器也是错误的。它应该是这样的:

 return redirect()->route('signUp')->withInput();

答案 1 :(得分:8)

您缺少的是将输入Flash闪存到会话中。这是在下次请求时可用的。

     $request->flash();

在致电查看表单之前执行此操作。

来源:http://laravel.com/docs/5.1/requests#old-input

答案 2 :(得分:1)

您可以尝试:{{ Input::old('username') }}

答案 3 :(得分:0)

我意识到在这种特殊情况下不是这种情况,但是我也遇到了这个问题。我的问题是由输入中的“数据预填充”引起的。一旦我删除了它,它就起作用了。

祝大家好运!

答案 4 :(得分:0)

            <div class="form-group @if($errors->first('username')) has-error @endif">
              <label for="username" class="rtl">Enter user name </label>
              <input type="text" name="username" class="form-control rtl basic-usage" id="username" placeholder="Enter user name" value="{!! old('username') !!}">
              <span class="help-block required">{{$errors->first('username')}}</span>
            </div>

上方的表单字段将显示输入的旧值。 将显示验证错误(您必须单独指定错误。) 有一个占位符。 引导看起来更好。(添加引导)

答案 5 :(得分:0)

您在 register 视图中的名称应与 RegisterController 文件中的 create() 和 validate() 方法中的键对应。