客户端验证无法在Android浏览器上运行

时间:2011-02-10 12:09:06

标签: asp.net android validation cross-browser

在客户端验证方面存在一些问题(使用RequiredFieldValidator,RegularExpressionValidator,带有客户端验证逻辑的CustomValidator)。似乎没有触发WebForm_DoPostBackWithOptions或导致未处理的异常使表单执行回发,无论它是否有效。

我尝试使用ValidationSummary,如果支持javascript则隐藏它:

<script>
   $(document).ready(function() {
      $("#javascriptDisabled").hide();
   }
</script>
...
<div id="javascriptDisabled">
   <asp:ValidationSummary runat="server" ...>
</div>
...
<asp:Button runat="server" OnClick="SendMessage" ...>

我的.cs代码是:

protected void SendMessage(object sender, EventArgs e)
{
   if(!Page.IsValid) return;
}

在我的笔记本电脑上禁用javascript的Chrome上,每件事都可以正常工作,但在我的Android手机上却没有。问题是在手机上Javascript没有被禁用,它已启用,并且正确隐藏了ValidationSummary,但由于某些我无法理解的原因而不执行客户端验证(Android浏览器上没有开发人员工具:(()。 这非常令人沮丧! :(

有人可以帮忙吗?

谢谢!

编辑:我找到了原因(但不是解决方案,如果存在的话)。我在我的页面中使用Telerik RadEditor控件,如果客户端是Android默认浏览器,则无法正确呈现所需的所有嵌入式脚本,导致javascript异常和(可能)浏览器停用javascript运行时。这导致客户端验证不再起作用。如果有解决此问题的解决方案,将与Telerik一起调查。

2 个答案:

答案 0 :(得分:0)

尝试使用fiddler。当我尝试时,我必须通过fiddler代理设置模拟器。在我的应用程序中执行此操作(我也将数据放在.NET身份验证的WS上),它可以工作。

Saludos,OSCAR。

答案 1 :(得分:0)

编辑:我找到了原因(但不是解决方案,如果存在的话)。我在我的页面中使用Telerik RadEditor控件,如果客户端是Android默认浏览器,则无法正确呈现所需的所有嵌入式脚本,导致javascript异常和(可能)浏览器停用javascript运行时。这导致客户端验证不再起作用。如果有解决此问题的解决方案,将与Telerik一起调查。