FireFox中破坏的ASP .NET验证器

时间:2010-10-04 14:40:23

标签: javascript asp.net validation

我正在努力解决ASP .NET Validators JavaScript问题。以下函数(框架生成代码的一部分)尝试使用 control.Field 语法访问 validatioGroup 属性值。它在IE中工作正常,但在FF中,值总是未定义。因此,验证总是通过,我的验证方案被破坏了......有没有办法绕过它?

function IsValidationGroupMatch(control, validationGroup) {
 if ((typeof(validationGroup) == "undefined") || (validationGroup == null)) {
 return true;
 }
 var controlGroup = "";
 if (typeof(control.validationGroup) == "string") {
 controlGroup = control.validationGroup;
 }
 return (controlGroup == validationGroup);
} 

谢谢,Pawel

2 个答案:

答案 0 :(得分:2)

这是罪魁祸首:

<xhtmlConformance mode="Strict"/>

我在web.config中有这一行。设置为默认值,即过渡修复了问题。以下是该主题的背景:Client side validation in FF

答案 1 :(得分:0)

如果ASP.NET(错误地)determines浏览器不支持通过客户端脚本进行验证,则验证将仅在服务器端执行。

只有在事件处理程序包含事件处理程序方法开头的Page.IsValid检查时才会发生服务器端验证。

最好在浏览器禁用javascript的情况下包含此检查。

public void MyButton_Click(object sender, EventArgs e)
{
    if (!Page.IsValid) return;

    ... the rest of your event handler ....

}