在客户端启用/禁用RequiredValidator /不启动CustomValidator

Sim*_*eon 7 asp.net customvalidator requiredfieldvalidator

我有一个下拉菜单,用户选择一个国家/地区.这是一个必需的"领域".

在它旁边,有一个名为State的文本字段.如果用户选择US,则需要字段State.如果用户选择例如瑞典,则不需要国家,因为瑞典没有州.

示例代码:

<asp:DropDownList runat="server" ID="Country"></asp:DropDownList>
<asp:RequiredFieldValidator ControlToValidate="Country"
                runat="server" Display="Static" ErrorMessage="Required field" />

<asp:TextBox runat="server" ID="State"></asp:TextBox>
<asp:CustomValidator ClientValidationFunction="DoesntGetFiredIfStateIsEmpty"
                runat="server" Display="Static" ErrorMessage="Required field" />

<!-- SO, RATHER THIS TOGETHER WITH CONDITIONAL FIRING -->
<asp:RequiredFieldValidator ControlToValidate="State"
                runat="server" Display="Static" ErrorMessage="Required field" />
Run Code Online (Sandbox Code Playgroud)

我向您提出的问题是:如果CustomValidator为空,我该如何进行防火验证?

或者说更简单:如何有条件地使RequiredValidator火灾?

或者最简单:如何在客户端启用/禁用RequiredValidator?

hun*_*ter 9

尝试使用javascript来启用和禁用验证器

ValidatorEnable(RequiredFieldValidatorId, false);
Run Code Online (Sandbox Code Playgroud)

看看我回答的这个问题.

  • 第一个参数实际上应该是验证器本身,而不是验证器的ID. (6认同)
  • 我知道了 验证者的父项显示为:none; 设置,破坏了ValidatorEnable的功能。 (2认同)
  • @hunter我看到了,但是我仍然值得在这里指出。您的代码段涉及传入“ RequiredFieldValidatorId”,我认为在不应该将其作为ID时,这会产生误导。 (2认同)