최근에는 Laravel 프로젝트 개발 사양에 따라 "우아한" 코드를 작성하면서 혼자서 블로그를 만들고 있습니다.프로젝트의 라우팅은 아마도 이렇습니다
Route::get('/keywords','KeywordsController@index'); Route::get('/keywords/create','KeywordsController@create'); Route::post('/keywords/store','KeywordsController@store'); Route::delete('/keywords/{id}','KeywordsController@destory'); Route::get('/keywords/{id}/edit','KeywordsController@edit'); Route::put('/keywords/{id}','KeywordsController@update');
검증기는 FormRequest 기본 클래스를 사용하여 검증합니다. 코드는 다음과 같습니다
route('id') 获取url占位符为id的数据 switch ($this->method()) { case 'POST' : { return [ 'keyword' => 'required|unique:keywords' ]; } case 'PUT': case 'PATCH': { return [ 'keyword' => [ 'required', Rule::unique('keywords')->ignore($this->route('id')), ], ]; } case 'DELETE': case 'GET': default: { return []; } } } public function messages() { return [ 'keyword.required' => '关键字不能为空', 'id.required' => 'id不能为空', 'keyword.unique' => '关键字已存在,请重新填写' ]; }}
표준을 유지하기 위해 요청을 업데이트했습니다. ID는 형식에 포함되지 않고 URL에만 포함됩니다. 공식 문서에도 이러한 방법이 있습니다.
use Illuminate\Validation\Rule; Validator::make($data, [ 'email' => [ 'required', Rule::unique('users')->ignore($user->id), ],]);
$this->route('id')
위 내용은 FormRequest 양식 유효성 검사기에서 URL 값 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!