【发布时间】:2015-04-05 06:09:35
【问题描述】:
我认为 jQuery 的全部目的是让开发人员的生活更轻松,但自从我大约 3 个月前开始学习如何使用它以来,它一直给我带来的只是噩梦!
我现在正在开发一个 ASP.NET WebForms 应用程序并尝试使用 jQuery Validation,因为内置的验证器控件无法轻松地呈现在其输入对应项下方。这就是我想做的一切;输入带有动态出现和消失的错误消息在其下方,但我已经将头撞在砖墙上 5 个小时试图弄清楚如何做一个,看似 - 难以置信 -简单的小东西!
我从一堆<asp:RegularExpressionValidator> 和<asp:RequiredFieldValidator> 控件开始(因为你不能用一个控件进行两个验证),但我不喜欢错误消息在我的输入右侧的内联显示方式。所以我花了大约 2.5 小时试图让 ASP.NET 用display: block; 渲染该死的东西,但无济于事。
那时我记得大约一个月前一位同事向我提到了 jQuery Validation 插件......所以我开始尝试用它来实现一个解决方案。但无论我尝试什么,Windows 上的 Google Chrome v.41 总是在 jQuery.validate() 函数上给我一个“未定义不是函数”错误。
我知道您在想什么:类似于“ASP.NET 破坏控件 ID...yada yada yada”的内容,但我一直在 web.config 的 <system.web> 部分中使用 <pages clientIDMode="Static" />因为我开始了这个项目,所以这不是问题。我也有 99.999% 的把握以正确的顺序包含必要的脚本,即使有些脚本包含在我的母版页中,有些包含在内容页面中(这不重要,不是吗?)
这篇文章已经太长了,请查看the full code here。
MTIA 给任何能告诉我到底发生了什么的人!
【问题讨论】:
-
相关代码应该包含在问题中,而不是在我很快消失的地方请阅读stackoverflow.com/help/mcve
-
正如我所说,这篇文章已经很长了,完整的 aspx 页面是 546 行...以供将来参考,您真的希望我包含类似的内容吗这里???将其缩小到显示问题的摘录是不可能的,因为我不知道问题出在哪里,只知道它在该页面中某处。
-
@AdrianHHH - 我刚刚阅读了你链接到的页面并看到了这个建议:“分而治之。当你有少量代码,但问题的根源完全不清楚时,开始删除一次编写一点代码,直到问题消失——然后将最后一部分加回去”。这就是克里斯蒂娜和我最终解决问题的方式,所以我想我应该一开始就这样做,甚至从未在这里发布过。我很抱歉。
标签: c# asp.net webforms jquery-validate