服务器端验证不起作用 - ASP.NET

时间:2014-09-29 06:28:47

标签: c# asp.net

客户端验证工作正常。我禁用了客户端,看它是否也能正常工作,但是失败了。编译器到达' SaveData'即使输入文本无效。 没有更新面板。 我该怎么解决这个问题。

ASPX:

<asp:TextBox ID="txtDept" runat="server" pattern="[a-z A-Z]*"></asp:TextBox>

<asp:RegularExpressionValidator 
    ID="revDept" 
    runat="server" 
    ValidationExpression="^[a-zA-Z\s]{1,50}$" 
    ControlToValidate="txtDept" 
    Display="Dynamic" 
    ErrorMessage="Only alphabets and spaces are allowed." 
    EnableClientScript="false">
</asp:RegularExpressionValidator>

C#:

protected void btnSubmit_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
          SaveData();
        }        
    }

1 个答案:

答案 0 :(得分:1)

您需要在提交按钮上启用“CausesValidation”(如果是这样,我们无法检入您的代码),或者在测试IsValid属性之前显式调用“Page.Validate()”。 / p>

请同时查看How does Page.IsValid work?,这可能很有帮助。