C# 仅当选中复选框时验证文本框-无回发

C# 仅当选中复选框时验证文本框-无回发,c#,jquery,asp.net,checkbox,C#,Jquery,Asp.net,Checkbox,我有一个asp.net复选框和一个textbox,我只希望textbox在选中复选框时进行验证,否则就这样保留它 我找到了MVC帖子,但我想要asp.net表单 这是我当前的代码,无论复选框是否选中,它都会验证textbox <asp:TextBox ID="txtSubject" runat="server" /> <asp:CheckBox ID="chkSubjectRequired" runat="server" /> <asp:RequiredFieldV

我有一个asp.net复选框和一个textbox,我只希望textbox在选中复选框时进行验证,否则就这样保留它

我找到了MVC帖子,但我想要asp.net表单

这是我当前的代码,无论复选框是否选中,它都会验证textbox

<asp:TextBox ID="txtSubject" runat="server" />
<asp:CheckBox ID="chkSubjectRequired" runat="server" />
<asp:RequiredFieldValidator ID="rfvSubject" ControlToValidate="txtSubject" ErrorMessage="You must enter a subject." runat="server" />
您将需要一个,然后:


请注意,这是服务器端验证

如果需要,只需启用/禁用“验证程序也”文本框即可。

仅验证文本框编号:

   <input type="text" onkeydown="ValidateNumber(event);">

    <script>
    function ValidateNumber(e) {
    if ((e.keyCode >= 8 && e.keyCode <= 57) || (e.keyCode >= 96 && e.keyCode <= 105)) {
        return true
    }

    return false;
};

也请共享您的验证代码。@BhushanKawadkar它是asp.net必需的验证程序,没有任何其他代码:我相信,您在这里不需要必需的字段验证程序,而只需要使用OnclientClick事件在页面提交时通过javascript进行验证。这也将避免回发。@NicoHaase我没有收到您的问题,请解释OP询问的一些验证只有在选中复选框时才应该进行,并且如果选中复选框,您的代码不会考虑这些验证,那么此验证应该工作。。是不是…?您的代码如何检查复选框的状态,如果复选框未选中,它如何跳过验证?ifdocument.getElementById'checkboxid'.checked{over code}
protected void IsTextboxValid(object sender,ServerValidateEventArgs e)
{
    e.IsValid=chkSubjectRequired.Checked;

}
   <input type="text" onkeydown="ValidateNumber(event);">

    <script>
    function ValidateNumber(e) {
    if ((e.keyCode >= 8 && e.keyCode <= 57) || (e.keyCode >= 96 && e.keyCode <= 105)) {
        return true
    }

    return false;
};