2

在 ASP.NET 中,RequiredFieldValidator即使我在客户端禁用它,它仍然会验证文本框控件。我想通过使用CustomValidator. 在验证功能中,我检查是否启用了文本框。如果是这种情况,我将验证器设置为有效。

function ValidateTextBox(sender, args) {

    var $textbox = $('#txtFoo')
    args.isValid = $textbox.prop('disabled') || $textbox.val();

}

这在客户端工作正常。问题是,我使用 JavaScript 在客户端更改了文本框的状态。因此,服务器不知道更改的状态(文本框控件现在已禁用)。因此,当ServerValidate引发自定义验证器的事件时(Page.Validate例如通过调用),我无法检查文本框是否被禁用。因为服务器不知道这一点Enabled,所以无论我在客户端做什么,该属性始终设置为 true。
如何在禁用控件时禁用控件验证或在 期间告诉服务器文本框的状态Postback

谢谢你的时间。

4

1 回答 1

0
  1. 而不是'disabled'尝试将文本框设置为'ReadOnly'模式。

  2. 您可以EnableDisableRequiredFieldValidator当时正在使用ValidatorEnableJavaScript 方法禁用文本框(参考

于 2012-08-13T11:19:26.507 回答