文件上传 - 必填字段验证器和正则表达式验证器不触发

3

我有一个FileUpload控件,我给它附加了一个RequiredFieldValidator和一个RegularExpressionValidator。在我的电脑上我的代码运行良好,但是在生产环境中既没有触发RequiredFieldValidator也没有触发RegularExpressionValidator,这对我来说非常奇怪,我无法解释这个问题。

我的代码如下:

<asp:FileUpload ID="XlsUpload" runat="server" CssClass="TextInput" Width="250" />
<asp:LinkButton id="lbnUploadFile" Runat="server" CssClass="MainLink" ToolTip="Upload File" OnClick="lbnUploadFile_Click">Upload File</asp:LinkButton>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" CssClass="warning" runat="server" ControlToValidate="XlsUpload" ErrorMessage="Please Upload a File!"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" CssClass="warning" runat="server" ControlToValidate="XlsUpload"
                ErrorMessage="Please upload only txt and docfiles" ValidationExpression=".*\.([tT][xX][tT]|[dD][oO][cC])"></asp:RegularExpressionValidator>

这可能是什么原因呢?


请在上传按钮和验证控件中都提及验证组,看看是否解决了您的问题。 - Pawan
1个回答

0

在我的情况下,这个有效:

<asp:FileUpload runat="server" ID="FUFileCurriculum" />
<asp:RegularExpressionValidator runat="server" ID="FUFileCurriculumValidator" ControlToValidate="FUFileCurriculum" ErrorMessage="Unauthorized file extension" ValidationExpression="^.+\.(?!exe|js|bat).*$" />

它避免上传以exe、js或bat结尾的文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接