File/Image validation in slim framework Request validation












0















I wanted to validate the uploaded image with following parameters like size should not be greater than 100KB, file can be of types [jpg,png,gif].
Please help me to write validation rules for this in Slim framework. I'm using Respect validator.



$files = $request->getUploadedFiles();
$validation = $this->validator->validate($request, [
'name' => v::notEmpty(),
'description' => v::notEmpty(),
'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),
]);
if ($validation->failed()) {
$errors = $validation->errors;
$print_r($errors);
}


This is how I'm using validation rules. Everything works except logo validation.










share|improve this question





























    0















    I wanted to validate the uploaded image with following parameters like size should not be greater than 100KB, file can be of types [jpg,png,gif].
    Please help me to write validation rules for this in Slim framework. I'm using Respect validator.



    $files = $request->getUploadedFiles();
    $validation = $this->validator->validate($request, [
    'name' => v::notEmpty(),
    'description' => v::notEmpty(),
    'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),
    ]);
    if ($validation->failed()) {
    $errors = $validation->errors;
    $print_r($errors);
    }


    This is how I'm using validation rules. Everything works except logo validation.










    share|improve this question



























      0












      0








      0








      I wanted to validate the uploaded image with following parameters like size should not be greater than 100KB, file can be of types [jpg,png,gif].
      Please help me to write validation rules for this in Slim framework. I'm using Respect validator.



      $files = $request->getUploadedFiles();
      $validation = $this->validator->validate($request, [
      'name' => v::notEmpty(),
      'description' => v::notEmpty(),
      'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),
      ]);
      if ($validation->failed()) {
      $errors = $validation->errors;
      $print_r($errors);
      }


      This is how I'm using validation rules. Everything works except logo validation.










      share|improve this question
















      I wanted to validate the uploaded image with following parameters like size should not be greater than 100KB, file can be of types [jpg,png,gif].
      Please help me to write validation rules for this in Slim framework. I'm using Respect validator.



      $files = $request->getUploadedFiles();
      $validation = $this->validator->validate($request, [
      'name' => v::notEmpty(),
      'description' => v::notEmpty(),
      'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),
      ]);
      if ($validation->failed()) {
      $errors = $validation->errors;
      $print_r($errors);
      }


      This is how I'm using validation rules. Everything works except logo validation.







      php slim slim-3 respect-validation






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 19 '18 at 4:58







      Saurabh Sharma

















      asked Nov 16 '18 at 6:05









      Saurabh SharmaSaurabh Sharma

      8010




      8010
























          1 Answer
          1






          active

          oldest

          votes


















          0














          You can do something to validate your file size like this



          v being the validator you are using




          v::size('1KB')->validate($filename); // Must have at least 1KB size




          You can do the following to validate the mine types




          v::mimetype('image/png')->validate('image.png'); // true




          Using the Respect validatio, this might be useful http://respect.github.io/Validation/docs/validators.html






          share|improve this answer
























          • Thanks for the answer. I already went through this but it doesn't helped me because I have an array of supported of mime types.

            – Saurabh Sharma
            Nov 16 '18 at 12:31











          • @SaurabhSharma Have you tried something like this? v::mimetype('image/png,image/png,image/gif')->validate('image.png')

            – Devaux
            Nov 16 '18 at 12:34













          • Remember that the ->validate('image.png'); should be your file you are validating

            – Devaux
            Nov 16 '18 at 12:40











          • thanks for reply I have updated my question summery with my code. Please recheck, Still it's not working for me.

            – Saurabh Sharma
            Nov 19 '18 at 4:59











          • Just to clarify is it this line that is not working 'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),

            – Devaux
            Nov 19 '18 at 5:40











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53332298%2ffile-image-validation-in-slim-framework-request-validation%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          You can do something to validate your file size like this



          v being the validator you are using




          v::size('1KB')->validate($filename); // Must have at least 1KB size




          You can do the following to validate the mine types




          v::mimetype('image/png')->validate('image.png'); // true




          Using the Respect validatio, this might be useful http://respect.github.io/Validation/docs/validators.html






          share|improve this answer
























          • Thanks for the answer. I already went through this but it doesn't helped me because I have an array of supported of mime types.

            – Saurabh Sharma
            Nov 16 '18 at 12:31











          • @SaurabhSharma Have you tried something like this? v::mimetype('image/png,image/png,image/gif')->validate('image.png')

            – Devaux
            Nov 16 '18 at 12:34













          • Remember that the ->validate('image.png'); should be your file you are validating

            – Devaux
            Nov 16 '18 at 12:40











          • thanks for reply I have updated my question summery with my code. Please recheck, Still it's not working for me.

            – Saurabh Sharma
            Nov 19 '18 at 4:59











          • Just to clarify is it this line that is not working 'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),

            – Devaux
            Nov 19 '18 at 5:40
















          0














          You can do something to validate your file size like this



          v being the validator you are using




          v::size('1KB')->validate($filename); // Must have at least 1KB size




          You can do the following to validate the mine types




          v::mimetype('image/png')->validate('image.png'); // true




          Using the Respect validatio, this might be useful http://respect.github.io/Validation/docs/validators.html






          share|improve this answer
























          • Thanks for the answer. I already went through this but it doesn't helped me because I have an array of supported of mime types.

            – Saurabh Sharma
            Nov 16 '18 at 12:31











          • @SaurabhSharma Have you tried something like this? v::mimetype('image/png,image/png,image/gif')->validate('image.png')

            – Devaux
            Nov 16 '18 at 12:34













          • Remember that the ->validate('image.png'); should be your file you are validating

            – Devaux
            Nov 16 '18 at 12:40











          • thanks for reply I have updated my question summery with my code. Please recheck, Still it's not working for me.

            – Saurabh Sharma
            Nov 19 '18 at 4:59











          • Just to clarify is it this line that is not working 'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),

            – Devaux
            Nov 19 '18 at 5:40














          0












          0








          0







          You can do something to validate your file size like this



          v being the validator you are using




          v::size('1KB')->validate($filename); // Must have at least 1KB size




          You can do the following to validate the mine types




          v::mimetype('image/png')->validate('image.png'); // true




          Using the Respect validatio, this might be useful http://respect.github.io/Validation/docs/validators.html






          share|improve this answer













          You can do something to validate your file size like this



          v being the validator you are using




          v::size('1KB')->validate($filename); // Must have at least 1KB size




          You can do the following to validate the mine types




          v::mimetype('image/png')->validate('image.png'); // true




          Using the Respect validatio, this might be useful http://respect.github.io/Validation/docs/validators.html







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 16 '18 at 12:17









          DevauxDevaux

          3816




          3816













          • Thanks for the answer. I already went through this but it doesn't helped me because I have an array of supported of mime types.

            – Saurabh Sharma
            Nov 16 '18 at 12:31











          • @SaurabhSharma Have you tried something like this? v::mimetype('image/png,image/png,image/gif')->validate('image.png')

            – Devaux
            Nov 16 '18 at 12:34













          • Remember that the ->validate('image.png'); should be your file you are validating

            – Devaux
            Nov 16 '18 at 12:40











          • thanks for reply I have updated my question summery with my code. Please recheck, Still it's not working for me.

            – Saurabh Sharma
            Nov 19 '18 at 4:59











          • Just to clarify is it this line that is not working 'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),

            – Devaux
            Nov 19 '18 at 5:40



















          • Thanks for the answer. I already went through this but it doesn't helped me because I have an array of supported of mime types.

            – Saurabh Sharma
            Nov 16 '18 at 12:31











          • @SaurabhSharma Have you tried something like this? v::mimetype('image/png,image/png,image/gif')->validate('image.png')

            – Devaux
            Nov 16 '18 at 12:34













          • Remember that the ->validate('image.png'); should be your file you are validating

            – Devaux
            Nov 16 '18 at 12:40











          • thanks for reply I have updated my question summery with my code. Please recheck, Still it's not working for me.

            – Saurabh Sharma
            Nov 19 '18 at 4:59











          • Just to clarify is it this line that is not working 'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),

            – Devaux
            Nov 19 '18 at 5:40

















          Thanks for the answer. I already went through this but it doesn't helped me because I have an array of supported of mime types.

          – Saurabh Sharma
          Nov 16 '18 at 12:31





          Thanks for the answer. I already went through this but it doesn't helped me because I have an array of supported of mime types.

          – Saurabh Sharma
          Nov 16 '18 at 12:31













          @SaurabhSharma Have you tried something like this? v::mimetype('image/png,image/png,image/gif')->validate('image.png')

          – Devaux
          Nov 16 '18 at 12:34







          @SaurabhSharma Have you tried something like this? v::mimetype('image/png,image/png,image/gif')->validate('image.png')

          – Devaux
          Nov 16 '18 at 12:34















          Remember that the ->validate('image.png'); should be your file you are validating

          – Devaux
          Nov 16 '18 at 12:40





          Remember that the ->validate('image.png'); should be your file you are validating

          – Devaux
          Nov 16 '18 at 12:40













          thanks for reply I have updated my question summery with my code. Please recheck, Still it's not working for me.

          – Saurabh Sharma
          Nov 19 '18 at 4:59





          thanks for reply I have updated my question summery with my code. Please recheck, Still it's not working for me.

          – Saurabh Sharma
          Nov 19 '18 at 4:59













          Just to clarify is it this line that is not working 'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),

          – Devaux
          Nov 19 '18 at 5:40





          Just to clarify is it this line that is not working 'logo' => v::size('100KB')->mimetype('image/png,image/png,image/gif')->validate($files['logo']->getClientFilename()),

          – Devaux
          Nov 19 '18 at 5:40




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53332298%2ffile-image-validation-in-slim-framework-request-validation%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Xamarin.iOS Cant Deploy on Iphone

          Glorious Revolution

          Dulmage-Mendelsohn matrix decomposition in Python