zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    C#基础
    自动化测试
    C# 数据结构题目
    .NET基础知识
    Sharepoint题目
    题目总结2
    数据库索引
    题目总结(2014-1-10)
    Stack详解
    SpringBoot入门基础知识点
  • 原文地址:https://www.cnblogs.com/xinchuang/p/2745757.html
Copyright © 2011-2022 走看看