FormRequest 양식 유효성 검사기에서 URL 값 가져오기

藏色散人
풀어 주다: 2021-01-14 08:53:55
앞으로
1928명이 탐색했습니다.

최근에는 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 기본 클래스를 사용하여 검증합니다. 코드는 다음과 같습니다FormRequest 양식 유효성 검사기에서 URL 값 가져오기

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), ],]);
로그인 후 복사

하지만 이 $user->id를 얻는 방법을 전혀 몰랐습니다. 마침내 내 요구 사항을 충족하는 방법을 온라인에서 찾았습니다.

$this->route('id')
로그인 후 복사

위 내용은 FormRequest 양식 유효성 검사기에서 URL 값 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!