我的路线在这里
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:
答案 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();
在致电查看表单之前执行此操作。
答案 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() 方法中的键对应。