根据我的代码验证功能,我们只接受ZIP版本。
所以它在我的第一个系统上工作所有3个浏览器“IE 10,Chrome 29和Firfox 24”和没有安装WINRAR
但现在我有一些奇怪的问题,我的代码工作正常,直到我没有安装WINRAR。在我安装WINRAR的另一个系统我遇到问题,如果我也上传了ZIP文件,在我的第二个系统上,仍然会提示错误“它只接受ZIP文件”
下面是我的代码和小提琴:
JQUERY
<script>
$().ready(function () {
// validate signup form on keyup and submit
$("#deploymentUploadForm").validate({
rules:{
File: {
required: true,
accept: "application/zip,application/octet-stream,application/x-zip,application/x-zip-compressed"
}
},
messages:{
File: {
required: "This field is mandatory!",
accept: "Accepts only zip file!"
}
}
});
});
</script>
HTML
<div id="wizardSteps">
<form action="~/Deployment/FileUpload" name="deploymentUploadForm" id="deploymentUploadForm" enctype="multipart/form-data" method="post">
<h1>Deployment</h1>
<p>
<input type="file" name="File" accept="application/zip">
</p>
<div role="button" class="marginTop50 marginBottom">
<p>
<input type="submit" id="getDeploymentList" value="Upload" class="active" >
</p>
</div>
</form>
</div>
小提琴 http://jsfiddle.net/aasthatuteja/rMS8D/
当我在第一个系统中安装WINRAR(在安装WINRAR之前工作正常)时,我也得到同样的问题。
如果您还有其他需要,请告诉我。
谢谢你的支持!
答案 0 :(得分:0)
经过努力找出为什么“accept:”方法不接受由“WinRaR”创建的zip文件。我用“extension”更改了“accept”方法,“extension”在“additional-methods.js”中提供“ - <script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
。请在下面找到最新的代码:
<强> JQUERY:强>
<script>
$().ready(function () {
// validate signup form on keyup and submit
$("#deploymentUploadForm").validate({
rules:{
File: {
required: true,
extension: "zip"
}
},
messages:{
File: {
required: "This field is mandatory!",
extension: "Accepts only zip file!"
}
}
});
});
</script>
如果您不想包含完整的“additional-methods.js”,则下面是方法: -
jQuery.validator.addMethod("extension", function(value, element, param) {
param = typeof param === "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif";
return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i"));
}, jQuery.format("Please enter a value with a valid extension."));
感谢大家调查此问题!