에서 Docs
주어진 규칙을 무시하도록 고유 규칙을 강제 적용 :
경우에 따라 고유 확인 중에 주어진 ID를 무시할 수 있습니다. 예를 들어 사용자 이름, 전자 메일 주소 및 위치가 포함 된 "프로필 업데이트"화면을 고려해보십시오. 물론 으로 전자 메일 주소가 고유한지 확인해야합니다. 그러나 사용자가 만 전자 메일 필드가 아닌 이름 필드를 변경하는 경우 사용자가 이미 전자 메일 주소의 소유자이기 때문에 유효성 검사 오류가 발생하지 않게하려고합니다.
다음은 필수 무시를 사용하여이를 수행하는 방법입니다.
유효성 검사에 Form Requests을 사용하는 경우 이와 같은 작업을 수행 할 수 있습니다. URL을 가정하면 확인을 위해 요청 클래스를 사용하지 않는 경우
use Illuminate\Validation\Rule;
....
public function rules()
{
//position id
$id = $this->route()->parameter('position'));
//or like this if id is in parameter as 2nd segment
//$id = $this->segment(2);
return [
'user_position' => [
'required',
Rule::unique('positions')->ignore($id)
]
];
}
를 만들// 같은 것입니다 편집 및 위치에 대한/1/편집을 배치
//get id of parameter positions
//using Illuminate\Http\Request $request;
$id = $request->route()->parameter('position'));
//or using helper
// $id = request()->route()->parameter('position'));
$rule=[
'user_position' => [
'required',
Rule::unique('positions')->ignore($id)
]
];