仅当复选框被选中时验证文本框-没有发回

本文关键字:文本 验证 复选框 | 更新日期: 2023-09-27 18:16:46

我有一个asp.net CheckBox和一个文本框,我只希望文本框在复选框被选中时验证,否则就这样吧。

我发现MVC后,但我想为asp.net表单验证文本框只有当复选框被选中使用MVC

这是我当前的代码,验证文本框,不管复选框是否选中,

<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" />

仅当复选框被选中时验证文本框-没有发回

您将需要一个自定义验证器,然后:

<asp:TextBox ID="txtSubject" runat="server" />
<asp:CustomValidator ControlToValidate="txtSubject" OnServerValidate="IsTextboxValid" Text="Text box is invalid" runat="server"/>
在后面的代码中,定义自定义验证方法:
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;
};