web开发之验证

最近研究一些框架,然而工作中发现还是要把一些基本的活计干好。比如验证。

1. 有即时验证和稍后验证。

比如,一个注册程序,在文本框输入一个密码,鼠标离开文本框的时候,用js验证密码长度,强度等。

  而稍后的验证,则是,点击”确定注册“类似这样的按钮的时候,还要对之前所有的即时性验证再检验一遍。因为用户可能根本没有理会刚才的即时验证提示。

 

2. 前端验证和后台验证

前端校验就是JS校验吧,因为JS可以通过设置浏览器忽略,那么前台验证后,后台还要对关键的地方进行校验。

 

3. 异步程序校验

另外,web2.0时代,我们有时会通过异步程序做一些校验,然后进行下一步操作。

比如: 第一步是: $.ajax({//...省略部分代码})

         第二步是:第一步OK,执行的内容,

         如果有过这方面开发的经验,你会发现,第二步的代码千万不能顺序挂在第一步代码之后。。。。因为第一步代码是异步执行的,测试中会发现,异步的结果还没有返回,第二部就已经执行了,于是,这个程序失败了,因为第二步本是以第一步为前提,结果他跳过了。

 

         那么一般的方法是:

$.ajax({
url: //你的URL
type: "POST",
datatype: "json",
success: function (result) {
    //第二步写在这里... 
}
});

  第二步也可以变成一个回调函数

function checkStep(step2)
$.ajax({
url: //你的URL
type: "POST",
datatype: "json",
success: function (result) {
    if(step2!=undefined){
        step2();
    }
}
});

4. 禁止反复提交数据。

 最简单的场景,点击某确定按钮添加一条数据到数据库,如果用户“啪啪”点了2次,有可能插入两条一样的数据。一般,我们可以插入前检测一下数据是否已经存在。

不过换一个场景,假如做一个短信通知,点一下按钮给客户发一个短信。而短信接口只有发送功能,不提供检测某个短信是否已发送,这时候我们怎么办呢?

有经验的人立马会说,确保按钮只能点击一次。 OK,想法很好。可惜,在传统的asp.net事件模型里很难实现【有童鞋实现过吗?】。一般都得借助于JS,异步提交。

           比如:

$("#btn").bind("click",function(){

  $("#btn").html("提交中...").unbind("click");//解除事件绑定,再点击不起作用了

     //执行提交逻辑

   $.ajax({});

});

5. 及时进行状态还原。

     简单的场景,比如在一个文本框里输入密码,长度不够,即时提示,当客户,输入正确的时候,刚才那个即时提示要消失。

     最近做了个狗血的程序,在一个pop-up里要进行三次翻页操作,第一步一页,第二步是下一页,第三步,再下一页,好家伙,这么页与页之间来回跳,从第二页回到第一页的时候,好多状态得还原。。。。

 

  做程序,小程序都写不顺溜,何提研究和开发框架啊。。。tmd,可能也是具体的事物做得太多了。。。

 

xinchuang

 

转载于:https://www.cnblogs.com/xinchuang/archive/2012/10/30/2745757.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/70761177 【完整课程列表】 完整版Java web开发教程PPT课件 Java开发进阶教程 第01章 JavaScript简介以及基本语法(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第02章 Dom模型,控制客户端元素(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第03章 表单验证,常用函数(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第06章 SERVLET(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第07章 JSP语法及运行过程(共13页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第08章 JSP内置对象(共22页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第09章 jstl、el、java bean(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第10章 过滤器、监听器、自定义标签(共19页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第11章 AJAX实现(共11页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第12章 自定义mvc框架(共11页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第13章 spring ioc aop(共18页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第14章 spring mvc介绍,原理以及搭建(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第15章 spring mvc核心对象拦截器(共26页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第17章 自定义orm框架(共11页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第18章 mybatis框架的搭建以及应用(共13页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第19章 mybatis高级应用(共21页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第20章 数据库连接池,缓存(共15页).pptx 完整版Java web开发教程PPT课件 Java开发进阶教程 第22章 常用框架的介绍以及环境搭建(共16页).pptx JS课程案例ebookHTML\网上书店需求文档.doc

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值