验证不在文本框上触发

时间:2021-07-16 05:57:36

标签: asp.net webforms asp.net-validators

所以,基本上我的页面上有多个 TextBox 并且其中一些使用 RequiredFieldValidator 进行验证。
我在 OnTextChanged 文本框字段上使用 txtMobileNo 事件从数据库中获取数据。
如果数据库中存在该数字,则其余的TextBox从服务器端填充。

现在,我面临一个问题:我的 MobileNo 文本字段跳过 RegularExpressionValidator 验证,即使它是错误的。
只有当我的号码与验证逻辑匹配时,我才想重定向到服务器端。

<div class="col-md-4">
    <asp:Label ID="lblfortxtMobileNo" runat="server" Text="Mobile No"></asp:Label>
    <asp:TextBox ID="txtMobileNo" runat="server" AutoPostBack="true" OnTextChanged="txtMobileNo_TextChanged" MaxLength="10"></asp:TextBox>
    <asp:RequiredFieldValidator ID="rqfvtxtMobileNo" runat="server" ErrorMessage="*" ControlToValidate="txtMobileNo" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator><br />
    <asp:RegularExpressionValidator
        ID="RegularExpressionValidator1"
        runat="server"
        ErrorMessage="Please Enter Valid Number"
        ControlToValidate="txtMobileNo"
        Display="Dynamic"
        ForeColor="Red"
        ValidationExpression="^([0-9]{10})$"
    ></asp:RegularExpressionValidator>
</div>
<div class="col-md-4">
    <asp:Label ID="lblName" runat="server" Text="Name"></asp:Label>
    <asp:TextBox ID="txtName" runat="server" AutoPostBack="true"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*" ControlToValidate="txtName" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator><br />
</div>
<div class="col-md-4">
    <asp:Button ID="btnSubmit" runat="server" Text="Save" OnClick="btnSubmit_Click" />
</div>

当我设置 CauseValidation = "true" 时,结果是我想要的。
但它会在调用 RequiredFieldValidator validation 函数之前检查所有其他 OnTextChanged
此时我只想检查 txtMobileNo 的正则表达式验证,并根据结果显示错误。

0 个答案:

没有答案
相关问题