在我的页面上,我有一个标准的asp:FileUpload控件。它下面是一个RegularExpressionValidator,它应该只允许上传pdf和Word文档。这是在网络上看到的相同的正则表达式。出于某种原因,它在另一个项目中运行良好,但不是在我现在的项目中。在Firefox中加载页面时,我立即让验证程序在选择文件后立即向我显示错误消息。这告诉我这是一个客户端问题,因为页面尚未提交给服务器。
标签:
<asp:RegularExpressionValidator id="Resume_Validator" runat="server"
ControlToValidate="Resume"
ValidationGroup="applicationForm"
ErrorMessage="Upload PDF or Word files only<br />"
Display="Dynamic"
CssClass="validationMsg"
ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.pdf|.PDF|.doc|.DOC|.docx|.DOCX)$"
/>
答案 0 :(得分:0)
为什么不在客户端使用jQuery文件验证?
//Check file extension
var ext = file.split('.').pop().toLowerCase(); //Check file extension if valid or expected
if ($.inArray(ext, ['txt']) == -1) {
$(".errorDiv").html("Select valid text file (txt).");
e.preventDefault(); //Prevent submission of form
}
else {
//Do your logic here, file upload, stream. etc.. if file was successfully validated
}