이 양식 유효성 검사로 문제를 식별하세요.
P粉296080076
2023-08-31 17:10:00
<p>저는 Laravel 5.8을 사용하고 있으며 데이터베이스에 일부 레코드를 생성하기 위해 이 컨트롤러 메서드를 만들었습니다. </p>
<pre class="brush:php;toolbar:false;">공개 함수 doTheUpload($request 요청)
{
노력하다{
$요청->검증([
'동영상' => 'nullable|mimes:mp4',
'video_thumb' => '필수|mimes:jpg,png,jpeg',
'video_name' => '필수',
'video_desc' => 'null 가능',
'available_download' => 'null 가능',
],[
'video.mimes' => '동영상 파일 형식이 유효하지 않습니다.',
'video_thumb.required' => '동영상 썸네일 업로드가 필요합니다.',
'video_name.required' => '동영상 이름을 입력해야 합니다.',
'video_thumb.mimes' => '이미지 썸네일 파일 형식이 유효하지 않습니다.',
]);
//업로드 프로세스를 수행합니다.
}catch(예외 $e){
dd($e);
}
}</pre>
<p>그러나 이 방법은 작동하지 않으며 다음 오류를 반환합니다. </p>
<h2><strong>주어진 데이터가 잘못되었습니다.
<p>이것은 기본적으로 양식 유효성 검사 요청 때문이며 메서드에서 이러한 유효성 검사를 제거하면 제대로 작동합니다. </p>
<p>이 오류를 반환하는 양식 요청의 유효성 검사에 어떤 문제가 있나요? </p>
<p>아신다면 알려주세요...어떤 생각이나 제안이라도 정말 감사하겠습니다. </p>
<p>감사합니다. </p>
인증하려는 내용을 정확하게 지정해야 합니다.
으아악내 코드 예:
으아악Laravel의 유효성 검사를 사용할 때는 규칙이 실패할 때 Laravel이 자동으로 예외를 발생시키므로 Laravel이 오류를 처리하도록 해야 합니다. 따라서 첫 번째 제안은 유효성 검사 루틴에서 try-catch 블록을 사용하지 않는 것입니다.
Laravel 문서에 따르면: p>
또한 컨트롤러에서 유효성 검사를 사용하지 않는 것이 좋습니다. 모범 사례에 따르면 유효성 검사를 위해 별도의 formRequest를 생성하는 것이 권장되므로 유효성 검사기 클래스를 포함하도록 컨트롤러를 약간 수정해야 합니다.
으아악이제 php artisan make:request UploadVideoRequest를 사용하여 양식 요청을 생성해야 합니다. 이 명령은
으아악app/Http/Requests
app/Http/Requests
아래에 다음을 채워야 하는 양식 요청 클래스를 생성합니다.이 접근 방식을 사용하여 Laravel은 사용자 입력의 유효성을 검사하고 예외를 통해 모든 오류를 관리합니다.
안녕하세요.