微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.net RequiredFieldValidator不阻止回发

我有一个问题,可能会阻止requiredFieldValidator阻止回发。

我开始使用旧的但简单的aspx表单,而我的前任使用手动的服务器端表单验证(检查一些表单域是否具有值,如果在标签中未显示错误消息)。我以为我会清理一些不需要的代码,并用requiredFieldValidator控件替换手动检查,但是当它们似乎正在验证时,它们不会阻止回发。也就是我的错误消息显示,但回发仍然发生。

形式很简单,没有CausesValidation =“false”属性设置。我的控件看起来像:

<asp:TextBox ID="txtPhone" Runat="server" Columns="20" MaxLength="20" />
 <asp:requiredFieldValidator ID="rfvPhone" runat="server" display="Dynamic"
      ErrorMessage="* required" ControlTovalidate="txtPhone" />

我在同一个项目中创建了一个全新的Webform,只需一个文本框,验证器和提交按钮,它的行为方式相同。错误消息显示,但回发仍然发生。

是否有全球或项目范围的设置会导致此行为?在web.config或global.asax中的东西?

解决方法

呼。好的,我发现问题,基本上是创建一个全新的项目,并将其web.config逐行与我的旧项目进行比较。原来是罪魁祸首是这样的:
<xhtmlConformance mode="Legacy"/>

如果我删除该行,我的验证工作方式我预计。谷歌搜索发现一堆博客帖子,关于VisualStudio如何将该行从.net 1.1升级到.net 3.5时,将该行添加到web.config中。

博客主要是抱怨这个字段干扰了.net的AJAX的东西,但是我猜测它会以类似的方式混淆为requiredFieldValidator发出的JavaScript。

原文地址:https://www.jb51.cc/aspnet/253390.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐