我有一个asp.net CheckBox,我有一个文本框,我只希望文本框在选中复选框时验证,否则就这样保留它。
我找到了MVC帖子,但我想要asp.net表格Validating textbox only if checkbox is checked using 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" />
答案 0 :(得分:0)
您需要custom validator,然后:
<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;
}
请注意,这是服务器端验证
答案 1 :(得分:0)
this is what you looking for.只需启用/禁用验证器(如果需要,也可以是文本框)。
答案 2 :(得分:-1)
验证仅文本框编号:
<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;
};