使用ASP文件上传器在VB .NET 2005中使用RegularExpressionValidator的问题

时间:2010-12-22 14:19:44

标签: .net asp.net regex visual-studio-2005 asp.net-2.0

我希望在提交VB .NET 2005页面之前验证一个单词:detail(upper / lower / mix-case)。我使用了Regex Builder并且下面的代码验证了,但它在我的网页上没有工作......有没有人有任何想法?

        Input file location:
    <input id="btnBrowseForFile" runat="server" enableviewstate="true" name="btnBrowseForFile"
        style="width: 500px" type="file" />
    <asp:RequiredFieldValidator ID="RequiredFieldValidator2"
            runat="server" ControlToValidate="btnBrowseForFile" ErrorMessage="*Please select an input file." Display="Dynamic"></asp:RequiredFieldValidator>
    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="btnBrowseForFile"
        Display="Dynamic" ErrorMessage='*Please select a file that contains the word "detail"'
        ValidationExpression="(\b|\s|\w)(d|D)(e|E)(t|T)(a|A)(i|I)(l|L)(\s|\b|\w)"></asp:RegularExpressionValidator>&nbsp;

谢谢! JFV

3 个答案:

答案 0 :(得分:1)

我不确定regularexpressionvalidator是否允许在其controltovalidate属性中使用常规html控件。 尝试使用asp:FileUpload Control,如下所示:

<asp:FileUpload id="fileUpload" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2"
    runat="server"
    ControlToValidate="fileUpload"
    ErrorMessage="*Please select an input file."
    Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator
    ID="regexFileUpload"
    runat="server"
    ControlToValidate="fileUpload"
    Text="Only Files with the word detail allowed"
    Display="Dynamic"
    ValidationExpression="(\b|\s|\w)(d|D)(e|E)(t|T)(a|A)(i|I)(l|L)(\s|\b|\w)" />

尚未对此进行测试,但这应该可行。

答案 1 :(得分:1)

现在还没有做过asp.net,我的第一反应就是检查输出的验证javascript并确保它对你的输入没问题。

我还尝试使用 asp:FileUpload 服务器控件来查看它是否有效(可能是HtmlControl没有将正确的ClientID发送到验证脚本。Here是一个链接显示如何使用它。您只需要在验证方面更改FileUpload控件的输入。

答案 2 :(得分:1)

如果您只是想检查字符串中的单词详细信息,请尝试以下操作:

ValidationExpression="^.*(d|D)(e|E)(t|T)(a|A)(i|I)(l|L).*$"