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

Page.IsValid有必要判断吗?
当我放置验证控件,比如:
<asp:requiredfieldvalidator   id= "RequiredFieldValidator1 "   runat= "server "   ErrorMessage= "请输入用户名! "   ControlToValidate= "txtUserName "> </asp:requiredfieldvalidator>
实际上当这个控件验证未通过时,页面根本不会向服务器端时行提交,那么,在服务器端程序中用Page.IsValid有必要判断吗?好象只要验证未通过,就不会执行别的程序,这个判断不是多此一举?

------解决方案--------------------
一般我不用.没什么影响,很少有人这样用.
------解决方案--------------------
一般都不用的吧
------解决方案--------------------
呵呵,正常情况是不要。

不过有句话说的,千万别详细客户端验证,就好像你的requiredfieldvalidator,客户端只有随便动下手脚,你这个验证控件就会失效,比如用JS改变你RequiredFieldValidator1对应的输入控件,这样就很容易绕过客户端验证了,这个时候就需要Page.IsValid来判断服务器端是否验证通过了
------解决方案--------------------
打错:千万别相信客户端验证
------解决方案--------------------
不用吧?
------解决方案--------------------
呵呵。一般是不需要的。加上更好。。
就看楼主怎么看了。
------解决方案--------------------
我都加的,就一句话而已。
------解决方案--------------------
如果用了验证控件,还是写上
------解决方案--------------------
没有必要,一般js与isvalid出错时候,直接在@page中去掉验证
------解决方案--------------------
当然有必要。
------解决方案--------------------
有用的。在FireFox里很有用。
------解决方案--------------------
写吧
------解决方案--------------------
很有用的。当在服务器段验证的时候,全靠它了。。。。
------解决方案--------------------
很有必要!
------解决方案--------------------
只要在客户端运行的程序,都是可以被动手脚的
------解决方案--------------------
你没有试过ajax控件吧,用过就知道,使用ajax控件的情况下(尤其是updatepanel),有很高的几率在验证不通过的情况下将数据发送给服务器,只有在提交事件中添加
if(!page.IsValid)
{
return;
}
才能完全阻止非法数据的提交。ajax控件类似的毛病很多的。


3楼的朋友说的也不全对,对客户端做手脚的话可以连你的验证过程一起作掉,所以你即使判断了IsValid也不能保证安全。
服务器端验证少不了的...