日期:2014-05-18  浏览次数:20504 次

[很多人的疑问]javascript服务器端验证的问题!!
在使用asp.net的验证控件时,发现是客户端和服务器端都验证的,但参看HTML SOURCE的时候,发现加载两个js类型文件,如下:
script src="/WebResource.axd?d=_A4lOo3AoZw_KQs8-3TTnA2&amp;t=633254652371875000" type="text/javascript"></script>
<script src="/WebResource.axd?d=4Zeayub0niYuB3H1uOQJLjPKKtNi2KyKa4qPDaxdQRs1&amp;t=633254652371875000" type="text/javascript"></script>

疑问:
1\,页面在加载了这两个js文件,还有在html页中生成了一大堆js代码,是不是对页面打开速度及程序执行效率上有影响?
2\,客户端禁用javascript时,当必填字段没有填写时,验证还是有效(推测可能是服务器端立即验证了),但我这时并没有post页面,莫非验证有类似于ajax异步的效果?
3\,我想自己写javascript验证,但客户端完全可以绕过这个验证,提效非法代码,如何模拟asp.net验证控件写一个验证(当客户端验证失效时在提效页面之前在服务器端验证,即asp.net验证控件效果)?烦请提供一个简单的示例代码!!

------解决方案--------------------
ajax也是基于javascript的,把活动脚本禁用后将不会再验证,asp.net验证控件原理也是一样
------解决方案--------------------
1.页面加载的东西越少,页面打开的就越快。不过基于现在的网络,两个js文件影响并不大。

2.javascript禁用,是不能发生ajax的申请验证的。

3. 在不使用验证控件的时候,都是在客户端验证,并在后台也写验证代码。
------解决方案--------------------
1.页面上的代码多,当然会影响效率;
2、禁用了就不会有验证了,
3、可以实现的。
------解决方案--------------------
这样的 PostBack 的效率是可想而知的...

所以,这样的,还是自己写AJAX代码会比较好一些..

机器生成代码,提高开发效率.牺牲的是性能.....
------解决方案--------------------

 客户端 javascript 验证,服务器端 错误处理
 如果客户端 javascript 禁用,服务器端 错误处理就会抱错