2015-11-04 8 views
5

Ich möchte den Upload-Dateityp mithilfe des Validierungs-Plugins überprüfen.jquery validate accept-Methode - TypeError: Eigenschaft 'call' von undefined kann nicht gelesen werden

Aber ich bekam die folgende Fehlermeldung:

Uncaught TypeError: Cannot read property 'call' of undefined. 
Exception occurred when checking element file, check the 'accept' method. 

Hier ist meine Form.

<form id="upload" enctype="multipart/form-data"> 
    <div class="control-group"> 
     <div class="controls"> 
      <input id="file" name="file" type="file"> 
     </div> 
     <div class="form-group"> 
      <button class="btn btn-primary" onclick="Submit()" type="button">Submit</button> 
     </div> 
    </div> 
</form> 

Und hier ist mein JavaScript:

var Submit=function(){ 
    var validator = $('#upload').validate({ 
     rules:{ 
      file: { 
       required: true, 
       accept: "audio/*, video/*" 
      } 
     }, 
     message: { 
      file:"Invalid file type" 
     } 
    }); 

    validator.form(); 
} 

Antwort

18

die "accept" Methode verwenden Sie die jQuery Validate zusätzliche Methoden-Datei enthalten müssen. Fügen Sie einfach es nach dem Validate-Datei:

<script src="http://jqueryvalidation.org/files/dist/jquery.validate.min.js"></script> 
<script src="http://jqueryvalidation.org/files/dist/additional-methods.min.js"></script> 

Dann versuchen Sie Ihr Validator wie diese stattdessen initiieren:

von Ihrem Button
$(document).ready(function(){ 
    $("#upload").validate({ 
     ...settings... 
    }); 
}); 

und entfernen Sie die onClick und type="button" Attribut.

Hier sind die docs:

http://jqueryvalidation.org/validate/

+0

Noch Fehler bekam: Uncaught Typeerror: kann Eigenschaft 'nennen' undefinierter lesen. Beim Prüfen der Elementdatei ist eine Ausnahmebedingung aufgetreten. Überprüfen Sie die Methode "accept". – user3927463

+0

Vielen Dank !! – user3927463

Verwandte Themen