• 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

     

  • 相关阅读:
    【NX二次开发】修改dlx对话框标题的方法
    【NX二次开发】导入x_t,UF_PS_import_data
    设置NX欢迎界面
    [转]10个顶级的CSS UI开源框架
    [转] 多线程 《深入浅出 Java Concurrency》目录
    [转] JAVA多线程和并发基础面试问答
    [转]StuQ 技能图谱(全套13张)
    [转] MongoDB shell 操作 (查询)
    搜集好的java技术帖子,持续更新,java程序员的要求
    [转]JAVA程序员一定知道的优秀第三方库(2016版)
  • 原文地址:https://www.cnblogs.com/xinchuang/p/2745757.html
Copyright © 2020-2023  润新知