2014-05-11 7 views
1

오늘 저는 Laravel 4에서 유효성 검사를 사용하고 있었고 버그가 발생했습니다 (아마도). 이 컨트롤러 내 유효성 검사 규칙입니다 : I 2 MB보다 이미지 큰 업로드하려고Laravel 4 이미지 유효성 검사 버그?

$rules = array(
     'title'  => 'min:3|max:30|required', 
     'price'  => 'numeric|required', 
     'avatar'  => 'mimes:jpeg,jpg,png,JPG|max:300', 
     'category_id' => 'numeric' 
); 

는 Laravel 나에게 image_size 오류를 보이지 않았다. 그러나 이미지가 2MB 미만인 경우 제대로 작동했습니다. 다음 max rule을 max : 2000으로 변경하고 2MB보다 큰 Image를 다시 업로드했습니다. 이번에는 Laravel이 나에게 올바른 메시지를 보여주었습니다.

내 코드가 잘못되었습니다.

+0

오류가 귀하의 PHP 설정에서 수, 귀하의 문제가이 방식은 PHP는 방식의 파일 크기가보고 있기 때문이다 Github에서 문제를 폐쇄 관련 php.ini 파일 –

+0

에서 post_max_size을하고 post_max_size을 변경하려고 귀하의 post_max_size를 초과 할 때. 이 문제는 Laravel에서 해결 된 것으로 표시됩니다. Laravel의 어떤 버전을 사용하고 있습니까? https://github.com/laravel/framework/issues/2433 – Laurence

+0

@momo 그러나 post_max_size를 8MB와 같이 큰 숫자로 변경하면 10MB 이미지를 업로드하려고 할 때 문제가 다시 발생합니다. 나는 이것이 최선의 해결책이 아니라고 생각합니다. – Hamm

답변

0

문제는 to this closed Github issue과 관련이 있습니다. PHP가 post_max_size를 초과 할 때 파일 크기를보고하는 방식 때문입니다.

규칙에 '최소'를 추가해야합니다.

$rules = array(
     'title'  => 'min:3|max:30|required', 
     'price'  => 'numeric|required', 
     'avatar'  => 'mimes:jpeg,jpg,png,JPG|max:300|min:1', 
     'category_id' => 'numeric' 
); 
+0

이 방법도 시도했지만 아무 것도 변경되지 않았습니다. – Hamm

+0

시도 : 'avatar'=> 'between : 1,300 | mimes : jpeg, jpg, png, JPG ' – Laurence

+0

: 최소 해결책은 나에게도 도움이되지 않습니다. 이 문제는 Laravel에서 수정되었지만 다시 나타납니다. 여기를 참조하십시오 : https://github.com/laravel/framework/issues/4467. 유효성 검사기를 업데이트해야 누군가 PR을 제출하기를 바랍니다. – Jones03

관련 문제