Ich füge die folgende Regel zu einem vorhandenen jQuery Validate-Skript mit extension
hinzu, aber dieses Snippet bewirkt, dass es bricht und überhaupt nicht validiert wird. Ich habe jede mögliche Kombination von Kommas vorher und nachher versucht, und ich habe auch versucht, die accept
Methode mit Mimetypen zu verwenden, aber bisher hat nichts funktioniert. Wenn ich dieses Snippet (und den Kommentar in der Zeile davor) auskommentiere, funktioniert der Code perfekt, aber wenn er hinzugefügt wird, bricht er ab.jQuery Validieren der Erweiterungsmethode funktioniert nicht
Here's a jsFiddle mit dem Code wie es ist (funktioniert nicht), und here's one mit genau dem gleichen Code, außer das Snippet ist auskommentiert (funktioniert gut).
Das Snippet selbst:
form1upload: {
extension: "jpg|jpeg|pdf|doc|docx|png"
}
Der vollständige Code:
jQuery(document).ready(function() {
jQuery("#grantapp").validate({
errorClass:"errorlabels",
rules: {
form1name: "required",
form1building: "required",
form1position: "required",
form1phonex: "required",
form1besttime: "required",
form1projtitle: "required",
form1benefit: "required",
form1timeframe: "required",
form1relevance: "required",
form1description: "required",
form1amount: "required",
form1acceptchk: "required",
form1upload: {
extension: "jpg|jpeg|pdf|doc|docx|png"
}
},
messages: {
form1name: "You must enter your name.",
form1building: "You must enter your building.",
form1position: "You must enter your position.",
form1phonex: "You must enter your phone extension.",
form1besttime: "You must enter the best time to contact you.",
form1projtitle: "You must give your project a title.",
form1benefit: "You must enter the number of students who will benefit.",
form1timeframe: "You must enter a time frame for this project.",
form1relevance: "<br />You must state how this project is relevant to education.",
form1description: "<br />You must provide a description of your project.",
form1amount: "You must enter a requested amount.",
form1acceptchk: "<span style=\"position:relative;top:-10px;\">You must accept the terms.</span>",
form1upload: "You may not upload this type of file."
},
errorPlacement: function (error, element) {
if (element.attr("name") == "form1acceptchk") {
error.insertAfter("#tbl1");
} else {
error.insertAfter(element);
}
}
});
});
Die Syntax sieht mir richtig. –
Das habe ich mir auch gedacht. Ich habe es wiederholt überprüft und es sieht gut aus für mich. Der Abschnitt für die spezifische Erweiterung sieht ebenfalls korrekt aus [gemäß den Dokumenten] (http://docs.jquery.com/Plugins/Validation/CustomMethods/extension#extension). – vaindil
Getestet mit mehreren Versionen des Plugins und es scheint wirklich kaputt http://jsfiddle.net/ult_combo/4jMHZ/ –