选中复选框时,禁用某些ASP.Net验证控件

时间:2009-04-21 22:57:56

标签: asp.net validation

我正在使用旧式ASP.NET验证(ugh)进行结帐流程。我有一个复选框 - “我会用我的信用卡详细信息打电话” - 。如果选中,我需要在客户端和回发上禁用信用卡号所需的字段验证器和cc验证器。

它是如何做到的?

3 个答案:

答案 0 :(得分:11)

您可以停用验证器客户端(在javascript中):

function disable(validatorId)
{
   var validator = document.getElementById(validatorId);
   ValidatorEnable(validator, false);
}

其中validatorId是要禁用的验证程序的clientID。有关完整示例,请参阅this page

答案 1 :(得分:3)

您可以停用验证器服务器端

MyFieldValidator.Enabled = MyCheckBox.Checked

Page.Validate()
If Page.IsValid Then
   'stuff
end if

答案 2 :(得分:2)

如果您正在禁用服务器端,则可以执行

button1.CausesValidation = False

在CheckChangedEvent中,如果你有很多验证器并且需要全部禁用它们,这会更有帮助。