我正在努力解决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
答案 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 ....
}