이전 유효성 검사( 차원 ) - Laravel

오늘 우리는 프로젝트에 업로드되는 이미지의 크기를 제어하게 만드는 매우 중요한 유효성 검사에 대해 배울 것입니다. 뭔가 오래되었지만 일부 개발자에게는 알려지지 않았습니다.
소스를 방문하십시오 :-
https://laravel.com/docs/9.x/validation#rule-dimensions
https://mattstauffer.com/blog/image-dimension-validation-rules-in-laravel-5-3/
  • 여기에서는 이미지의 크기를 확인하면서 사용할 속성에 대해 배웁니다.

  • In Laravel 5.3, we have a new validation option: image dimensions for image uploads
    The validation rule is called dimensions, and you can pass the following parameters to it 
    
    min_width: Images narrower than this pixel width will be rejected
    max_width: Images wider than this pixel width will be rejected
    min_height: Images shorter than this pixel height will be rejected
    max_height: Images taller than this pixel height will be rejected
    width: Images not exactly this pixel width will be rejected
    height: Images not exactly this pixel height will be rejected
    ratio: Images not exactly this ratio (width/height, expressed as "width/height") will be rejected
    
    


  • 이제 ImageController를 만들고 몇 가지 샘플 유효성 검사를 살펴보겠습니다.

  •  public function postImage(Request $request)
     {
            $this->validate($request, [
                 'avatar' => 'dimensions:min_width=250,min_height=500'
            ]);
    
            // or... 
    
            $this->validate($request, [
                 'avatar' => 'dimensions:min_width=500,max_width=1500'
            ]);
    
            // or...
    
            $this->validate($request, [
                 'avatar' => 'dimensions:width=100,height=100'
            ]);
    
            // or...
    
            // Ensures that the width of the image is 1.5x the height
            $this->validate($request, [
                 'avatar' => 'dimensions:ratio=3/2'
            ]);
    }
    


  • 규칙을 유창하게 구성하려면 Rule::dimensions 방법을 사용하십시오.

  • use Illuminate\Support\Facades\Validator;
    use Illuminate\Validation\Rule;
    
    Validator::make($data, [
        'avatar' => [
            'required',
            Rule::dimensions()->maxWidth(1000)->maxHeight(500)->ratio(3 / 2),
        ],
    ]);
    


    나는 당신이 코드를 즐겼기를 바라며 행복한 코드를 기원합니다.

    좋은 웹페이지 즐겨찾기