title: Cakephp Data validation - This field cannot be left blank
body: <p>I'm using cakephp and I get a strange behavior with it.</p>
  
  <p>Here is my validation rule in the Model:</p>
  
  <pre><code>    public $validate = array(
      'flyer' =&gt; array(
          'rule' =&gt; array('fileValidation', 'flyer', array('image/jpeg', 'image/pjpeg'), NULL, TRUE)
      )
      // Other rules...
  );
  </code></pre>
  
  <p>Here is the fileValidation method (yes I'm french =) )</p>
  
  <pre><code>    public function fileValidation(array $check, $field, array $allowedMimeTypes = NULL, $maxFileSize = NULL, $allowEmpty = FALSE)
  {
      $file = array_shift($check);
      $message = NULL;
  
      if($file['error'] === UPLOAD_ERR_OK){
          //  checking uploaded file
          if(empty($file['tmp_name']) || empty($file['tmp_name']) || $file['tmp_name'] === 'none' || !is_uploaded_file($file['tmp_name'])){
              $message = "Une erreur est survenue lors de l'envoi du fichier, veuillez réessayer à nouveau. Si le problème persiste, merci de contacter le support technique.";
          }
  
          //  checking mimeTypes if required
          elseif(!empty($allowedMimeTypes) &amp;&amp; !in_array($file['type'], $allowedMimeTypes)){
              $message = "Le type de fichier envoyé n'est pas celui attendu.";
          }
  
          //  checking file size if required
          elseif(!empty($maxFileSize) &amp;&amp; $file['size'] &gt; $maxFileSize){
              $message = "Le fichier envoyé est trop volumineux, réduisez sa taille et réessayez.";
          }
  
          else{
              return TRUE;
          }
      }
      elseif($file['error'] === UPLOAD_ERR_NO_FILE){
          // validates if no upload is allowed
          if(!$allowEmpty){
              $message = "Une erreur est survenue lors de l'envoi du fichier, veuillez réessayer à nouveau. Si le problème persiste, merci de contacter le support technique.";
          }
          else{
              return TRUE;
          }
      }
      elseif($file['error'] === UPLOAD_ERR_INI_SIZE){
          $message = "Le fichier envoyé est trop volumineux, réduisez sa taille et réessayez.";
      }
      elseif($file['error'] === UPLOAD_ERR_FORM_SIZE){
          $message = "Le fichier envoyé est trop volumineux, réduisez sa taille et réessayez.";
      }
      elseif($file['error'] === UPLOAD_ERR_PARTIAL){
          $message = "Une erreur est survenue lors de l'envoi du fichier, le serveur n'a reçu qu'une partie du fichier, veuillez réessayer à nouveau.";
      }
      elseif($file['error'] &gt;= UPLOAD_ERR_NO_TMP_DIR){
          $message = "Une erreur interne est survenue, veuillez réessayer à nouveau. Si le problème persiste, merci de contacter le support technique.";
      }
  
      // Here is the problem
      $this-&gt;validationErrors[$field][] = $message;
  
      return FALSE;
  }
  </code></pre>
  
  <p>So far so good, my Validation rule seems to work correctly but when à get an error, I have two messages: "My custom message" and "This file cannot be left blank".</p>
  
  <p>How to remove this message, where am I wrong?</p>
  
  <p>Thanks in advance.</p>