无法使用ajax控件进行验证

本文关键字:验证 控件 ajax | 更新日期: 2023-09-27 18:00:46

<asp:Label ID="lblSearch" runat="server" Text="Search Prefix"></asp:Label>
                <asp:TextBox ID="txtSearch" MaxLength="2" runat="server" Width="80px"></asp:TextBox>
                <asp:RequiredFieldValidator runat="server" ID="rfvSearch" ControlToValidate="txtSearch" Display="None" ErrorMessage="Please enter &lt;b>Prefix.</b>" ValidationGroup="searchRegion"/>
                <ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="vceSearch" TargetControlID="rfvSearch" HighlightCssClass="validatorCalloutHighlight" />
                <asp:RegularExpressionValidator ID="revRegion" runat="server" ErrorMessage="Please enter &lt;b>valid Numeric value.</b>"  ControlToValidate="txtSearch" Display="None" ValidationExpression="^'d+$"></asp:RegularExpressionValidator>
                <ajaxToolkit:ValidatorCalloutExtender ID="vceRegion" runat="server" TargetControlID="revRegion" /> 
 protected void btnSearch_Click(object sender, EventArgs e)
    {
    }

我已经为txtsearch添加了验证(仅限数字(。当我在文本框中输入错误的数据(AA(时,我会弹出验证消息。但当我点击搜索按钮时,它将在c#中执行服务器端代码

在转到btnSearch_Click中的c#代码之前,我如何停止并验证它??

当我在c#中添加以下代码时

 this.Validate();
 if (IsValid)
 { }

它没有进行第二次验证(每次isvalid都是false,即使是数字(

有人能帮我吗?

无法使用ajax控件进行验证

您可以使用javascript验证您的控件,如下面的

function isNumber(evt) {
            evt = (evt) ? evt : window.event;
            var charCode = (evt.which) ? evt.which : evt.keyCode;
            if (charCode > 31 && (charCode < 48 || charCode > 57)) {
                return false;
            }
            return true;
        }
        function isAlphabets(evt) {
            evt = (evt) ? evt : window.event;
            var charCode = (evt.which) ? evt.which : evt.keyCode;
            if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123))
                    return true;            
            return false;