2016-12-13 9 views
1

アップロードする前にファイルを検証したいのですが、フィールドファイルは必須でpdf拡張子である必要があります。私はそれを検証したい場合しかし、スクリプトがここに私のエラーメッセージ を示していない私のコードはJquery tooltipsterはファイルを検証します

<input id="faxtype_file" name="faxtype[file]" class="file custom-file-upload-hidden" style="position: absolute; left: -9999px;" tabindex="-1" type="file"><input class="file-upload-input" type="text"><button type="button" class="file-upload-button" tabindex="-1">upload</button> 

と私のjqueryのファイルにあります。

jQuery.validator.addMethod("regexphone", function (value, element, regexp) { 

      if (regexp.constructor != RegExp) 
       regexp = new RegExp(regexp); 
      else if (regexp.global) 
       regexp.lastIndex = 0; 
      return this.optional(element) || regexp.test(value); 
     }, ""); 

     $('#formulaire :input').tooltipster({ 
      trigger: 'custom', // default is 'hover' which is no good here 
      onlyOne: false, // allow multiple tips to be open at a time 
      position: 'right' // display the tips to the right of the element 
     }); 


     $('#formulaire').validate({ // initialize the plugin 
      errorPlacement: function (error, element) { 
       $(element).tooltipster('update', $(error).text()); 
       $(element).tooltipster('show'); 
      }, 
      success: function (label, element) { 
       $(element).tooltipster('hide'); 
      }, 
      rules: { 
       'faxtype[faxList]': { 
        required: true, 

       }, 
       'faxtype[file]':{ 
        required:true, 
        extension: "docx|rtf|doc|pdf" 
       } 



      }, 
      messages: { 

       'faxtype[faxList]': { 
        required: "{{ 'message.faxm.listnumber'|trans }}", 

       }, 
       'faxtype[file]':{ 
        required:"le fichier est obligatoir", 
        extension: "l'extension doit etre pdf" 
       } 

      }, 

     }); 

ないスクリプトがfaxlistを検証することフィールドには適用されません。私の小枝で

:ください、私はファイルを検証する方法について

<div class="custom-file-upload"> 
      <!--<label for="file">File: </label>--> 
      {{ form_widget(form.file, { 'attr': {'class':'file '} }) }} <br/><br/> 
     </div> 

任意のアイデア。

答えて

0

エンティティの属性ファイルに制約を追加することによって、アップロードされたファイルのMIMEタイプをチェックする必要があります。

YourEntity 
.... 
/** 
    * @Assert\File(
    *  maxSize = "2M", 
    *  mimeTypes = {"application/pdf", "application/x-pdf"}, 
    *  mimeTypesMessage = "You should upload a pdf file" 
    *) 
    */ 

private $faxtype; 
+0

私はクライアント側(javascript)で検証したいと思います。 –

関連する問題