【发布时间】:2012-05-08 10:36:41
【问题描述】:
我正在使用表单上传文件。我只想上传 PDF 文件。这是我的代码:
允许用户选择文件的输入框:
@Html.FileBox(m => m.FileName, new { id = "FileName", accept = "application/pdf" })
以及显示错误信息的地方:
@Html.ValidationMessageFor(m=>m.FileName)
为输入字段生成的代码是:
<input id="FileName" type="file" name="FileName" data-val-required="The File Name field is required." data-val-length-max="512" data-val-length="The field File Name must be a string with a maximum length of 512." data-val="true" accept="application/pdf">
现在即使我选择 PDF 文件,我也会收到错误 Please enter a value with a valid extension.
我正在使用 MVC 3 和不显眼的 jquery 来验证表单。
【问题讨论】:
-
你想出这个了吗?我也有同样的问题。就我而言,我需要接受多种类型(“image/gif,image/png,image/jpeg”)。
-
不,我没有。我不得不删除“接受”属性。可能是 Jquery Validation 不支持为“accept”验证 MIME 类型。
-
@ThiagoSilva 对于图像类型,这应该不是问题。你试过
accept="image/gif,image/jpeg"之类的吗? -
是的。我有“图像/gif,图像/jpeg,图像/png”。我什至去掉了除了一种 mime 类型之外的所有类型,验证会阻止我上传任何东西。当我删除“接受”属性时,它工作正常。我想我只会诉诸于仅在服务器端进行验证。
标签: jquery asp.net-mvc-3 jquery-validate asp.net-mvc-validation