对于IE 8中的文件输入,不显眼的属性不返回true

时间:2015-04-16 11:28:11

标签: javascript jquery asp.net-mvc unobtrusive-validation

我创建了一个HtmlHelper来在文件输入上呈现不显眼的数据属性。这在Firefox中完美运行,但在IE 8中不起作用。

<input id="Attachment" type="file"name="Attachment" 
    data-val-required="The Attachment field is required." 
    data-val-iswhitelistedfile-whitelist="jpeg,jpg,gif,tif,png,bmp,pdf,doc,docx,rtf,odt,xls,xlsx,ods,ppt,pptx,odp,txt,csv,mp3,mp4,msg" 
    data-val-iswhitelistedfile="Invalid file extension. Only the following file extensions are allowed: jpeg, jpg, gif, tif, png, bmp, pdf, doc, docx, rtf, odt, xls, xlsx, ods, ppt, pptx, odp, txt, csv, mp3, mp4, msg" 
    data-val-isvalidfilename-pattern="^[a-zA-Z0-9_ -]{1,244}\.[a-zA-Z0-9]{1,10}$" 
    data-val-isvalidfilename="Invalid Filename. Filenames may only include letters, numbers, spaces, underscores and hyphens, plus a single full stop and file extension (for example 'My File.pdf') and may not be more than 255 characters in total" 
    data-val="true">

内置的Required javascript似乎可以从Firefox中的输入中获取值,但在IE8中则不行。如果我删除了必需的属性,但提交的文件名无效,则客户端验证不会失败(文件名检查不需要有值)。我不得不将我的js文件更新到最新版本以使任何验证工作。我正在使用MVC 5.2.3不引人注意的验证,jquery 1.11.0和jquery.validate 1.13.0。

显然,我可以调整我的白名单检查以满足必需/不需要,但我希望使用现有的功能。任何人都可以建议这样做。

0 个答案:

没有答案