客户端验证与server端验证
来源:互联网 发布:用王家卫 知乎 编辑:程序博客网 时间:2024/05/16 08:57
今天想实现一个注册、登录界面。所以接触到了客户端控件和server端控件。
客户端控件:主要是一些input控件,type = "text" , "submit"等。这些控件的验证可以使用javascript。
javascript客户端验证与server端的验证比较有一下优点:
(1)反应快速,节省时间:不需要刷新网页。在server端验证需要把内容提交到server。
但是客户端的验证不能和数据库相连,因此只能验证:
(1)字符串非空、格式的验证
(2)数字的验证:包括转换之类的
(3)正则表达式验证。
因此可以对:邮箱格式验证、手机号码验证、邮编验证等。
一些验证可参考: http://blog.csdn.net/diershi/article/details/4084981
但不能进行数据库中用户唯一性验证。因为不能与数据库相连。
但是据说Ajax可以验证用户的唯一性。没有用过。不太清楚。
服务器端控件:主要是runat = “server”的控件。
现在关键的问题是:如何在runat ="server"的控件上进行客户端的验证。刚刚看了一个博客,里面涉及到了这块,先贴出来,再实现一下。
OnClick这一关键词,它是客户端JS脚本中的关键词,也是ASP.NET服务器控件中的控件属性,后者实际就是OnServerClick。
不同之处是前者发生在客户端,由浏览器完成操作,而后者需要回送到服务器端,由服务器端运行。
如果对于一般的HTML中的代码,非服务器端控件的,可以使用OnClick来定义一个客户端事件,OnSeverClick是在服务器端脚本调用的方法 .
如一个Button服务器控件,它可以同时具备客户端和服务器端的OnClick,发生的顺序是先客户端再服务器端。但是在定义的时候需要注意:
在页面中的
<asp:Button id="cmdReturn2" runat="server" OnClick="ReturnFile">Return</asp:Button>
中的这个OnClick定义的是服务器端事件,因为这是控件,ReturnFile是在代码中定义的方法。
而如果需要同时存在客户端JS中的Onclick,那需要通过在代码中的Button.Attributes.Add("onclick","return CheckMailBox();")来加入,是将CheckMailBox()的结果返回给onclick事件,注意 ("onclick", "return CheckMailBox") 和 ("onclick ","return CheckMailBox") 是有区别的,前者如果返回false,onclick事件将不执行,后者无论返回什么值都回执行下去。
实际上asp.net封装了很多东西,方便的同时也让很多刚学的人弄不明白怎么回事,比如上面说的服务器端click事件。其实这不是一个真正的事件,仅仅是让你有事件的感觉而已,本质其实就是POST提交表单而已,如果微软改服务器端OnClick事件名称为OnSubmit可能更好理解些。
问题的解决:采用的asp.net中的验证控件。详细见下面的blog链接
- 客户端验证与server端验证
- 验证码客户端验证
- 客户端验证
- Struts标签与JavaScript客户端验证问题
- Struts标签与JavaScript客户端验证问题
- 注册的验证包括客户端与服务器端
- 使用JavaScript实现客户端与服务器验证
- struts的输入验证服务器端与客户端
- httpclient的webservice客户端与session验证
- 客户端表单验证&服务器端验证
- JavaScript客户端程序验证
- JavaScript客户端验证
- 自定义客户端验证控件
- Javascript客户端验证大全
- JS客户端验证总结
- JavaScript 客户端表单验证
- struts2的客户端验证
- 客户端验证返回
- 6410_io_drv.c: error: invalid operands to binary << (have 'char *' and 'int') 错误处理
- 杭电2802
- Java使用memcached
- JAVA国际化
- 国际知名的邮件黑名单组织有哪些?
- 客户端验证与server端验证
- 哪些互联网产品适合用 HTML5 开发?
- drupal 7 连接多个数据库
- 我们更应该把爱“复制…粘贴”
- android学习笔记----解决android有的手机拍照后上传图片被旋转的问题
- Apache(httpd)配置Directory目录,Order,deny,allow说明
- 九度OJ 1054 字符串内排序
- jQuery UI Autocomplete是jQuery UI的自动完成组件
- C++标准模板库 迭代器 iterator 详解(一)