我的Demo:场次安排相关验证


//kssj不能小于当前系统时间,且只能在8:00-18:00之间
function checkKssj() {
    var kssj = jQuery(":text[name='vo.kssj']");
    var ksTime = kssj.val();
    var year = ksTime.split("-")[0];
    var mon = ksTime.split("-")[1];
    var month = parseInt(mon) - 1 + "";
    var date = ksTime.split("-")[2].split("  ")[0];
    var h = ksTime.split("-")[2].split("  ")[1].split(":")[0];
    var m = ksTime.split("-")[2].split("  ")[1].split(":")[1];
    var s = ksTime.split("-")[2].split("  ")[1].split(":")[2];
    var ksDate = new Date(year, month, date, h, m, s);
    var sysDate = new Date();
    if (sysDate.getTime() > ksDate.getTime()) {
        jQuery(kssj).parent().find("span").remove();
        jQuery("<span><br>\u4e0d\u80fd\u5c0f\u4e8e\u7cfb\u7edf\u65f6\u95f4!</span>").css("color", "red").appendTo(jQuery(kssj).parent());
        return false;
    } else {
        if (h < 8 || h > 18) {
            jQuery(kssj).parent().find("span").remove();
            jQuery("<span><br>\u53ea\u80fd\u9009\u62e98:00-18:00\u4e4b\u95f4!</span>").css("color", "red").appendTo(jQuery(kssj).parent());
            return false;
        } else {
            jQuery(kssj).parent().find("span").remove();
            return true;
        }
    }
}
//bssj只能为整数数字
function checkBssj() {
    var bssc = jQuery(":text[name='vo.bssj']");
    if (!valiInt(bssc.val())) {
        jQuery(bssc).parent().find("span").remove();
        jQuery("<span><br>\u6bd4\u8d5b\u65f6\u957f\u53ea\u80fd\u4e3a\u6570\u5b57!</span>").css("color", "red").appendTo(jQuery(bssc).parent());
        return false;
    } else {
        jQuery(bssc).parent().find("span").remove();
        return true;
    }
}
//bsje只能为整数数字
function checkBsje() {
    var bsje = jQuery(":text[name='vo.bsje']");
    if (!valiInt(bsje.val())) {
        jQuery(bsje).parent().find("span").remove();
        jQuery("<span><br>\u6bd4\u8d5b\u95f4\u9694\u53ea\u80fd\u4e3a\u6570\u5b57!</span>").css("color", "red").appendTo(jQuery(bsje).parent());
        return false;
    } else {
        jQuery(bsje).parent().find("span").remove();
        return true;
    }
}
//提交验证
function isNull() {
    var kssj = jQuery(":text[name='vo.kssj']").val();
    var bssc = jQuery(":text[name='vo.bssj']").val();
    var bsje = jQuery(":text[name='vo.bsje']").val();
    var bslx = jQuery("#bspc");
    if (trimAll(kssj) == "") {
        alert("\u8bf7\u9009\u62e9\u6bd4\u8d5b\u5f00\u59cb\u65f6\u95f4\uff01");
        return false;
    }
    if (trimAll(bssc) == "") {
        alert("\u8bf7\u8f93\u5165\u6bd4\u8d5b\u65f6\u957f\uff01");
        return false;
    }
    if (trimAll(bsje) == "") {
        alert("\u8bf7\u8f93\u5165\u6bd4\u8d5b\u95f4\u9694\uff01");
        return false;
    }
    var kssjFlag = checkKssj();
    var bssjFlag = checkBssj();
    var bsjeFlag = checkBsje();
    
    if (kssjFlag == false) {
        alert("\u5f00\u59cb\u65f6\u95f4\u9519\u8bef\uff01");
        return false;
    }
    if (bssjFlag == false) {
        alert("\u6bd4\u8d5b\u65f6\u957f\u8f93\u5165\u9519\u8bef\uff01");
        return false;
    }
    if (bsjeFlag == false) {
        alert("\u65f6\u95f4\u95f4\u9694\u8f93\u5165\u9519\u8bef\uff01");
        return false;
    }
    
    
    if(bslx==2){
      var hql="select max(.kssj) from Ccap  where A.ssgl.kqzt = 1 and A.bspc = 2";
      var hql2= "select A.bsje from Ccap where  A.ssgl.kqzt = 1 and A.bspc = 2";
      UserDWR.isRightTime(hql,hql2,kssj.val(),function(data){
       if(data==false){
         jQuery(kssj).parent().find("span").remove();
         jQuery("<span><br>不能早于交叉赛最后一场的结束时间!</span>").css("color", "red").appendTo(jQuery(kssj).parent());
         return false;
       }else{
          jQuery(kssj).parent().find("span").remove();
          return true;
       }
      });
      var numFlag1=checkNum1();
      alert("numFlag1"+numFlag1);
      if(numFlag1==false){
        alert("半决赛队伍数量输入错误!");
        return false;
      }else{
        return true;
      }
      
    }
    if(bslx==3){
      var hql="select max(.kssj) from Ccap  where A.ssgl.kqzt = 1 and A.bspc = 3";
      var hql2= "select A.bsje from Ccap where  A.ssgl.kqzt = 1 and A.bspc = 3";
      UserDWR.isRightTime(hql,hql2,kssj.val(),function(data){
       if(data==false){
         jQuery(kssj).parent().find("span").remove();
         jQuery("<span><br>不能早于半决赛最后一场的结束时间!</span>").css("color", "red").appendTo(jQuery(kssj).parent());
         return false;
       }else{
          jQuery(kssj).parent().find("span").remove();
          return true;
       }
      });
      var numFlag2=checkNum2();
      if(numFlag2==false){
       alert("决赛队伍数量输入错误!");
       return false;
      }else{
       return true;
      }
    }
}
//当比赛类型为2或3时,输入参赛队伍数量
function checkBslx() {
    var bslx = jQuery("#bspc");
    if (bslx.val() == 1) {
        jQuery(bslx).parent().find("span").remove();
    } else if (bslx.val() == 2) {
        jQuery(bslx).parent().find("span").remove();
        jQuery("<span>输入一个4的倍数:<input type='text' name='num1' width='2px' οnblur='checkNum1()'></span>").appendTo(jQuery(bslx).parent());
    } else if (bslx.val() == 3) {
        jQuery(bslx).parent().find("span").remove();
        jQuery("<span>输入一个4的倍数:<input type='text' name='num2' width='2px' οnblur='checkNum2()'></span>").appendTo(jQuery(bslx).parent());
    }
}
function checkNum1(){
   var flag;
   var num=jQuery(":text[name='num1']");
   if(num.val()==""){
     jQuery(num).parent().find("span").remove();
     jQuery("<span><br>必须输入参赛队伍数!</span>").css("color","red").appendTo(jQuery(num).parent());
     return false;
   }else if(!valiInt(num.val())){
     jQuery(num).parent().find("span").remove();
     jQuery("<span><br>只能输入整数!</span>").css("color","red").appendTo(jQuery(num).parent());
     return false;
   }else if(num.val()%4!=0){
     jQuery(num).parent().find("span").remove();
     jQuery("<span><br>输入的数必须被4整除!</span>").css("color","red").appendTo(jQuery(num).parent());
     return false;  
   }else{
     //判断输入的数字是否大于排行榜中数量的总数
     var hql="select count(A) from Phb A where A.csdw.ssgl.kqzt = 1 and A.bslx = 1";
     UserDWR.isRightNum(hql,function(data){
       if(data<num.val()){
         jQuery(num).parent().find("span").remove();
         jQuery("<span><br>交叉赛评分尚未完成,还不能安排场次!</span>").css("color","red").appendTo(jQuery(num).parent());
         flag=false;
       }else{
         flag=true;
       }
     });
   }
   if(flag==false){
    return false;
   }else{
    return true;
   }
}
function checkNum2(){
   var num=jQuery(":text[name='num2']");
   var flag;
   if(num.val()==""){
     jQuery(num).parent().find("span").remove();
     jQuery("<span><br>必须输入参赛队伍数!</span>").appendTo(jQuery(num).parent());
     return false;
   }else if(!valiInt(num.val())){
     jQuery(num).parent().find("span").remove();
     jQuery("<span><br>只能输入整数!</span>").appendTo(jQuery(num).parent());
     return false;
   }else if(num.val()%4!=0){
     jQuery(num).parent().find("span").remove();
     jQuery("<span><br>输入的数必须被4整除!</span>").appendTo(jQuery(num).parent());
     return false;
   }else{
     //判断输入的数字是否大于排行榜中数量的总数
     var hql="select count(A) from Phb A where A.csdw.ssgl.kqzt = 1 and A.bslx = 2";
     UserDWR.isRightNum(hql,function(data){
       if(data<num ||(data/num.val())!=2){
         jQuery(num).parent().find("span").remove();
         jQuery("<span><br>只能是半决赛数量("+data+")的一半!</span>").appendTo(jQuery(num).parent());
         flag=false;
       }else{
         flag=true;
       }
     });
   }
   if(flag==false){
    return false;
   }else{
    return true;
   }
}

还是在做场次安排的时候,发现始时间,时间间隔,比赛时长,比赛类型这几个参数的格式以及隐性的需要验证的都可以在页面上完成。

例如:

1.开始时间不能小于系统时间。

2.开始时间只能在8:00到18:00之间。

3.比赛时长和时间间隔只能为整数。

4.比赛类型为半决赛或和决赛时需要输入参赛队伍数量,可以出现一个输入框。

这样做可以减少不必要的服务器访问,服务器端的程序也不必做一些和业务不相关的工作。

由于以前没有学过JavaScript和Ajax之类的前台技术,所以这方面的意识不是很好。以后应该注意:只要是前台输入的验证,都尽可能的用JavaScript或Ajax来验证。

通过这个例子,一定要建立起这样的思想。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值