投稿ボタンを押すと、ページを更新するだけで何も起こりません。Laravel 5.2フォームの検証リクエストが正しく機能しない
ここに私のコードです:
アプリ/ HTTP/routes.phpの
Route::group(['middleware' => ['web']], function() {
Route::get('profile/edit', '[email protected]');
Route::post('update_name', '[email protected]');
});
アプリ/ HTTP /リクエスト/ UpdateNameRequest.php
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
use Illuminate\Support\Facades\Auth;
class UpdateNameRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return Auth::check();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'first_name' => 'required|min:2|alpha',
'last_name' => 'required|min:2|alpha',
];
}
}
アプリ/ HTTPは/Controllers/UserController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests;
use App\User;
class UserController extends Controller
{
public function __construct() {
$this->middleware('auth');
}
public function editProfile() {
if (Auth::user()->role_id === 3) {
return view('profile.crew.edit');
}
}
public function updateName(Requests\UpdateNameRequest $request) {
return dd($request->all());
}
}
、ここでは、HTMLフォームの参照HERESにフォーム出力用
{!! Form::open(array('url' => 'update_name')) !!}
<div class="form-group{{ $errors->has('first_name') ? ' has-error' : '' }}">
<label class="control-label">First Name</label>
<input type="text" class="form-control" name="first_name" value="{{ old('first_name') }}" placeholder="{{ Auth::user()->first_name }}">
@if ($errors->has('first_name'))
<span class="help-block">
<strong>{{ $errors->first('first_name') }}</strong>
</span>
@endif
</div>
<div class="form-group{{ $errors->has('last_name') ? ' has-error' : '' }}">
<label class="control-label">Last Name</label>
<input type="text" class="form-control" name="last_name" value="{{ old('last_name') }}" placeholder="{{ Auth::user()->last_name }}">
@if ($errors->has('last_name'))
<span class="help-block">
<strong>{{ $errors->first('last_name') }}</strong>
</span>
@endif
</div>
<button type="submit" class="btn btn-success">Update name</button>
{!! Form::close() !!}
だ
<form method="POST" action="http://localhost:8000/update_name" accept-charset="UTF-8">
<input name="_token" type="hidden" value="VViupfPaPCQCk5aeUdc27Pt2Z8J7Hx1Y2khC0IY9">
<div class="form-group">
<label class="control-label">First Name</label>
<input type="text" class="form-control" name="first_name" value="" placeholder="Hans">
</div>
<div class="form-group">
<label class="control-label">Last Name</label>
<input type="text" class="form-control" name="last_name" value="" placeholder="Padberg">
</div>
<button type="submit" class="btn btn-success">Update name</button>
</form>
ここではPHPの職人ルートでの私の出力です:リストは
+--------+----------+-------------------------+------+-----------------------------------------------------------------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-------------------------+------+-----------------------------------------------------------------+--------------+
| | GET|HEAD |/ | | Closure | web |
| | GET|HEAD | home | | App\Http\Controllers\[email protected] | web,web,auth |
| | GET|HEAD | login | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | POST | login | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | GET|HEAD | logout | | App\Http\Controllers\Auth\[email protected] | web |
| | POST | password/email | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | POST | password/reset | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | GET|HEAD | password/reset/{token?} | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | GET|HEAD | profile | | App\Http\Controllers\[email protected] | web,web,auth |
| | GET|HEAD | profile/edit | | App\Http\Controllers\[email protected] | web,web,auth |
| | GET|HEAD | register | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | POST | register | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | POST | update_email | | App\Http\Controllers\[email protected] | web,web,auth |
| | POST | update_name | | App\Http\Controllers\[email protected] | web,web,auth |
| | POST | update_password | | App\Http\Controllers\[email protected] | web,web,auth |
| | POST | update_profile_picture | | App\Http\Controllers\[email protected] | web,web,auth |
+--------+----------+-------------------------+------+-----------------------------------------------------------------+--------------+
あなたは必ずこのことを持っていますパスは正しいですか?私はそれが "UpdateNameRequest"であるべきだと思う –
はい私はそれが正しいパスだと確信している – emurmotol
私はあなたが私に言ったようにそれを実行しようとしたと私にこのエラーを与えた 'クラスのアプリケーション(update \ requestNameRequest $要求)\ Http \ Controllers \ UpdateNameRequestは存在しません。 ' – emurmotol