我正在使用jquery验证插件来验证我的表单。我有一个字段,我不想验证,但在某种程度上它已经过验证,我收到错误消息“请输入不超过5个字符。”
验证的字段是type = file字段,我将它与Fynework jQuery MultiForm插件一起使用。当我尝试提交表单时,仅当我选择名称长度超过5个字符的文件时才会验证它(我认为,短名称长时间工作不会)。
我尝试将类.ignore添加到已验证的字段中,并将忽略规则添加到我的validat(),而不是行为上的差异。
问题是什么?
这是我的validat()方法,我还包括我添加该方法的点:
function addNewTicketValidation(){
$("#newticketform").validate({
ignore: ".ignore",
errorContainer: "#messageBox1",
errorLabelContainer: "#messageBox1 ul",
wrapper: "li",
debug:true,
rules: {
title: "required",
description: "required"
},
messages: {
title: "Titel saknas",
description: "Beskrivning saknas"
}
});
}
$("#newticketmanu").live('click',function(event){
$("#adminarea").load("http://" + hostname + "/" + compdir + "/modules/core/newticket/newticket.php", function(){
$('#my_file_element').MultiFile();
addNewTicketValidation();
});
});
我的表单:
<form method="post" enctype="multipart/form-data" id="newticketform" class="MultiFile-intercepted" novalidate="novalidate">
<input type="hidden" value="2000000" name="MAX_FILE_SIZE">
<label for="title">Rubrik</label> <input type="text" name="title" id="title"><br><br>
<label for="description">Beskrivning</label> <textarea name="description" id="description" cols="50" rows="15"></textarea><br>
<div id="my_file_element_wrap" class="MultiFile-wrap"><input type="file" maxlength="5" name="file[]" id="my_file_element" class="multi ignore MultiFile-applied" value=""><div id="my_file_element_wrap_list" class="MultiFile-list"></div></div>
<div id="files_list"></div>
<input type="submit" value="Upload" name="upload">
</form>
问题是什么以及如何解决?
谢谢!
答案 0 :(得分:1)
从文件输入中删除maxlength =“5”属性。这由验证插件读取并作为规则添加(第812行https://github.com/jzaefferer/jquery-validation/blob/1.9.0/jquery.validate.js)。检查规范(http://www.blooberry.com/indexdot/html/tagpages/i/inputfile.htm),即使在文件输入上,最大长度仍然意味着字符长度,因此如果要将用户限制为5个文件上传你需要一些其他方法来实现这一点。