为什么我的客户端验证显示输出到浏览器?

时间:2012-08-01 02:16:59

标签: asp.net validation

我一直在阅读有关ASP.NET Validation的内容,并在SO How do I get Client-side validation of ASP.Net page to run?上找到了一个相关问题,但似乎没有解决为什么有些此类验证会发布到浏览器中。

显然,出了点问题。显示以下文本:

  

var Page_ValidationActive = false; if(typeof(ValidatorOnLoad)==“function”){ValidatorOnLoad(); function ValidatorOnSubmit(){if(Page_ValidationActive){return ValidatorCommonOnSubmit(); } else {return true; }} //]]>

最后一点看起来像CDATA结束标记,我唯一的CDATA标记是从谷歌或Facebook等社交媒体网站链接的。

有谁可以告诉我是什么原因造成的?

我可能有另一个设置告诉客户端将输出转储到浏览器,就像我在this post.中那样

2 个答案:

答案 0 :(得分:1)

其中的代码中包含CDATA部分。如果您复制它,您的代码也会如此。

我通过在脚本上方移动CDATA部分来实验并得到相同的结果,如下所示:

<![CDATA[
<script type="text/javascript">
var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
    ValidatorOnLoad();
}

function ValidatorOnSubmit() {
    if (Page_ValidationActive) {
        return ValidatorCommonOnSubmit();
    }
    else {
        return true;
    }
}
//]]>
</script>

在这种情况下,CDATA标记应移至script标记下方。或者,只需完全删除CDATA标记。

答案 1 :(得分:1)

我不明白为什么脚本显示在网页上,但错误是由于我的某个验证控件被错误地从组中排除而引起的。

一旦我在验证组中包含了所有验证控件,错误就会消失。

如果有人知道为什么错误被回显到浏览器,请告诉我,以便我可以从我的网站上禁用此“功能”。