您的位置:首页 > 编程语言 > ASP

ASP.NET中如何使用前台和后台验证

2011-04-11 15:30 435 查看
最近自学ASP.NET中,遇到一些很基础的问题先记下来,以后也可以复习一下。

刚看了篇文章,讲了后台验证的必要性(《为什么不能只用前台js验证[必须结合后台验证]》 原文博客:http://www.52rs.net/ArticleView.aspx?gID=ac085c49-339b-4315-9447-98e78ac64ae3),既然有了后台验证,为什么还要进行前台验证,这样做不是让程序更复杂了?这个问题先放着,待深入学习之后慢慢了解。

开始进入正题。

前台一般用js验证,比如验证表单的数据:

<script type="text/javascript">

function checkForm()

{

var _uid=document.getElementById("<%=txt_Id.ClientID %>").value;

var _upwd=document.getElementById("<%=txt_Pwd.ClientID %>").value;

var _upwdSure=document.getElementById("<%=txt_Pwd_Sure.ClientID %>").value;

var _uemail=document.getElementById("<%=txt_Email.ClientID %>").value;

if(_uid =="")

{

alert("账号不能为空!");

return false;

}

//验证密码与确认密码是否一致

if (_upwd != _upwdSure) {

alert("密码与确认密码不一致");

return false;

}

//验证密码 这里的正则表达式的判断方法跟c#不一样 请注意:/正则表达式 /g g表示全部查找

var reg = /^[a-zA-Z0-9]{6,20}$/g;

if (!reg.test(_upwd))

{

alert("密码长度必须大于6个字符小于20个字符,只能为英语字、数字,例如:snsn2003等");

return false;

}

//验证电子邮件

reg = //w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*/g;

if (!reg.test(_uemail))

{

alert("请输入有效的邮件地址");

return false;

}

return true;

}

</script>

这段代码写在<head>里,并在相应事件里加上<OnClientClick="return checkForm()">。这里要说明一下,OnClientClick=""指的是客户端的前台验证方法,后台验证使用onclick="",比如:<asp:Button runat="server" onclick="后台方法" onClientClick="reutrn 前台方法()"/>。前台方法必须返回一个true或者false。true会继续执行后台代码;false不会继续执行后台代码。此方法在ff和IE7中测试通过,还有人说ie6不支持此方法,要写成onClientClick="event.returnValue=true"这样才可以,这个没试过,也是从网上看到的,先记在这里,以备日后查看。

后台验证也大同小异:

//从前台获取值

string uid = txt_Id.Text;

string upwd = txt_Pwd.Text;

string uemail = txt_Email.Text;

string upwdSure = txt_Pwd_Sure.Text;

//--------------------------------------------------------开始验证

//验证输入是否完整

if (uid.Length == 0 || upwd.Length == 0 || uemail.Length == 0 || upwdSure.Length==0)

{

Response.Write("<script language='JavaScript'>alert('输入不完整')</script>");

return;

}

//验证密码与确认密码是否一致

if (!upwd.Equals(upwdSure))

{

Response.Write("<script language='JavaScript'>alert('后台验证:密码与确认密码不一致')</script>");

return;

}

//验证电子邮件

if (!Regex.IsMatch(uemail, @"/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*"))

{

Response.Write("<script language='JavaScript'>alert('请输入有效的邮件地址')</script>");

return;

}

//--------------------------------------------------------验证结束

前后台的验证方法介绍完了,这个例子里面并没有实现图片验证码的功能,所以没有图片验证码的验证,其方法以后会补充。

希望大家共同学习!

加油!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: