.net - 如果选中复选框,如何使文本框成为必需

标签 .net asp.net validation

如果选中复选框,如何使文本框成为必需?

我想我可以编写一个自定义验证器,但是我希望避免在可能的情况下发回完整的帖子以检查验证...我在想AJAX在这种情况下内置了一些东西,但我一直找不到。我想直接使用JavaScript也是一种解决方案,但是如果那是最好的方法,我可以抢先一步。

最佳答案

处理该问题的JavaScript并不是很困难。

给定以下ASP控件:

<asp:TextBox ID="txtSubject" runat="server" />
<asp:CheckBox ID="chkSubjectRequired" runat="server" OnClick="updateValidator();" />
<asp:RequiredFieldValidator ID="rfvSubject" ControlToValidate="txtSubject" ErrorMessage="You must enter a subject." runat="server" />


添加以下JavaScript函数:

<script language="javascript" type="text/javascript">
    function updateValidator() {
        var enableValidator = !event.srcElement.status;
        var rfvSubject = document.getElementById('rfvSubject');
        ValidatorEnable(rfvSubject, enableValidator);
    }
</script>


这里的所有都是它的。您还希望将以下代码添加到Page Load事件中,以便如果用户禁用了JavaScript,则仍可以正确打开或关闭所需的字段验证器:

rfvSubject.Enabled = chkSubjectRequired.Checked

关于.net - 如果选中复选框,如何使文本框成为必需,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2132837/

相关文章:

c# - Type.IsSubclassOf 和 TypeInfo.IsSubclassOf 有什么区别?

.net - 如何解决 Entity Framework 插入时主键违规的问题?

c# - 使用 C# 编写跨平台应用程序时有哪些好的经验法则?

c# - 在 ASP.Net vNext 站点中,为什么在启动时会出现与迁移相关的异常?

asp.net - 您必须添加对程序集“netstandard,Version=2.0.0.0”的引用

c# - 为什么在 ToolTip 中显示验证错误的 WPF 样式对 TextBox 有效,但对 ComboBox 却失败?

c# - 检查值是否在数组中 (C#)

当 .NET 4.5 Framework 仅安装在负载平衡器后面的一台服务器中时,ASP.NET EventValidation 失败

css - 只有 ascii 字符对 CSS 样式名称有效

javascript - 表单验证并提交ajax