2016-12-13 21 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

您应该通过在实体的属性文件中添加一个约束来检查上传文件的mimetype。

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

private $faxtype; 
+0

我想验证它在客户端(javascript) –