【发布时间】:2016-06-02 22:05:48
【问题描述】:
我正在尝试使用单个匹配的控制器来显示和验证表单。我不确定这是否真的可行,因为我没有成功。
由于某种原因,它甚至不会显示初始视图 - 它只是进入 302 重定向循环然后超时。
任何人都可以建议它为什么会这样做,以及我该如何解决它?我不想创建更多的路由和方法,因此 match 而不是单独的 get 和 post,具有两个单独的控制器方法。
我的路线
Route::match(['get', 'post'], '/tracking', [
'as' => 'tracking',
'uses' => 'Tracking@index'
]);
我的控制器
use App\Http\Requests\TrackingRequest;
class Tracking extends Controller {
public function index(TrackingRequest $request) {
return view('tracking.index');
}
}
我的验证
class TrackingRequest extends Request
{
public function authorize() {
return true;
}
public function messages()
{
return [
'reference.required' => 'Please enter a reference number.',
'reference.numeric' => 'Please enter a valid reference number.',
'reference.digits' => 'Please enter a valid reference number.',
'reference.exists' => 'We don\'t have that reference number on our records.',
];
}
public function rules() {
return [
'reference' => 'required|numeric|digits:10'
];
}
}
我的观点
<h3>Welcome, {{ $job->name }} ({{ $job->reference }})</h3>
<table border="1" style="width:100%">
@foreach ($updates as $update)
<tr><td>
<h3>{{ $update->title }}</h3>
<p>{{ $update->content }}</p>
<p><small><em>{{ $update->created_at }}</em></small></p>
</td></tr>
@endforeach
</table>
【问题讨论】:
标签: php validation laravel laravel-5 routing