【问题标题】:Setting and displaying an error for a custom validation with client side code使用客户端代码为自定义验证设置和显示错误
【发布时间】:2011-01-03 16:02:59
【问题描述】:

我有一个自定义字段验证器,它会触发一些客户端代码来验证文本框的值。如果该值无效,我想在自定义验证器中显示一条消息。我可以将值分配给验证器,但是当它加载到页面上时,它设置为可见性 = 隐藏或显示 = 无。我尝试将这两个属性都设置为在客户端和验证器中可见。

客户端:

 if (data.d == null) {
                    sender.errormessage = $('#<%= txtHaulerNumber.ClientID %>').val() + " is not a valid Hauler Number.";
                    sender.innerHTML = $('#<%= txtHaulerNumber.ClientID %>').val() + " is not a valid Hauler Number.";
                    sender.text = $('#<%= txtHaulerNumber.ClientID %>').val() + " is not a valid Hauler Number.";
                    $('#<%= cfvHaulerNumber.ClientID %>').visible = true;
                    args.IsValid = false;
                    $('#<%= txtHaulerNumber.ClientID %>').focus();
                }

ASP 验证器

<asp:CustomValidator ID="cfvHaulerNumber" runat="server" ControlToValidate="txtHaulerNumber" 
            ErrorMessage="" onservervalidate="cfvHaulerNumber_ServerValidate"
            ValidateEmptyText="true" ClientValidationFunction = "GetHauler" EnableClientScript = "true" 
            Visible = "true" Display = "Static"></asp:CustomValidator>

更新: 我很肯定该方法正在运行,因为它重新格式化了我在文本框中输入的文本。当我打开 Firebug 并查看 HTML 时,我可以发现错误消息正在分配给验证器,但有些东西迫使它被隐藏。

<span style="color: Red; visibility: hidden;" id="ctl00_ContentPlaceHolder1_cfvHaulerNumber"></span>

我怎样才能强制它可见?

【问题讨论】:

  • 当您尝试发布无效值时会出现该消息。如果启用了 javascript,它将发生在客户端。
  • 你确定你的GetHauler方法被执行了吗?尝试在函数中设置一些警报以进行调试并检查发生了什么。

标签: asp.net jquery validation


【解决方案1】:

我进行了一些测试,似乎 CustomValidator Not working in FireFox with ASP.NET 4.0。它在 IE 中运行良好。它在 .NET 2.0 的 FF 中运行良好。

我做了一些搜索,似乎这是 1.1 的验证器的问题,该问题已在 2.0 中解决。想知道在 4.0 中还需要一些其他设置。

【讨论】:

    【解决方案2】:

    回复迟了,但是, 只有当其 IsValid 属性设置为 True 时,验证器才会隐藏。

    您可能需要相应地检查和调整您的 javascript。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      相关资源
      最近更新 更多