asp.net - 使用客户端代码设置并显示自定义验证的错误

标签 asp.net jquery validation

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

客户端:

 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>

如何强制其可见?

最佳答案

我进行了一些测试,似乎 CustomValidator 无法在 FireFox 中与 ASP.NET 4.0 一起工作。它在 IE 中运行良好。它在 FF 和 .NET 2.0 中运行良好。

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

关于asp.net - 使用客户端代码设置并显示自定义验证的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4586015/

相关文章:

c# - 如何使 Ajax Post 到 Handler.ashx 安全并停止直接调用处理程序

php - Google ReCaptcha 显示在表单提交时带有图像和客户端验证

javascript - 如何在angularjs中访问 Controller 中的多种形式?

validation - Razor:@Html.HiddenFor() 需要关闭验证

javascript - 无法在 MVC 5 应用程序的 api Web API 2 Controller 中访问 Action

c# - MenuItem 事件未在 asp.net 菜单中触发

javascript - 查询 : show div on clicking div

javascript - jQuery .done 未触发 $.post 请求

c# - ASP.NET WebAPI : Aborted (cancelled) requests

c# - 从 .NET Core 中的模型创建数据库表