我有一个页面,其中包含许多RequiredFieldValidator控件,用于验证文本框。始终显示验证消息,验证器不起作用。无论文本框是否包含任何文本,验证消息仍然可见。
这不是在本地发生,而是仅在远程服务器上发生。我想知道它是否是配置问题,但我看不出任何可能导致它的配置明显不同。
一个例子:
<asp:TextBox ID="Name" runat="server" CssClass="text full"></asp:TextBox>
<asp:RequiredFieldValidator ID="nameRequiredFieldValidator" runat="server" CssClass="requiredError" ControlToValidate="Name" Display="Dynamic" />
页面上的所有其他验证都正常工作,问题就在于RequiredFieldValidators。
没有JS错误,没有文件丢失或无法加载。我通过Fiddler和浏览器验证了这一点。
我在所有尝试过的浏览器中遇到同样的问题。
任何建议都会受到欢迎。感谢。
答案 0 :(得分:1)
这里的问题是最近应用的CSS规则覆盖了内嵌的asp.net内联样式。这意味着验证实际上正常工作,但由于内联样式=“display:none”被覆盖,验证消息不断显示。
这仅影响了必需的字段验证器,因为它们具有应用于其他验证器的不同CSS类。与网站特定的URL重写器的另一个完全不相关的问题是阻止表单提交,这进一步混淆了问题。无论如何,谢谢你的帮助。