qq_1020788318 2022-01-24 13:02 采纳率: 100%
浏览 49
已结题

valid的条件验证,当goodsspec1 value不空时, goodsspec1, goodsprice1, goodspur1, goodsdate1 ,才需要验证,求指导!

条件valid验证

当goodsspec1 value不空时, goodsspec1, goodsprice1, goodspur1, goodsdate1 ,才需要验证
当goodsspec2 value不空时, goodsspec2, goodsprice2, goodspur2, goodsdate2 ,才需要验证

function ShowStr(x){
 //var Str=document.getElementById(x).value;
  var Str1=$("#goodsspec1").length;
  var Str2=$("#goodsspec2").length;
    //if($("#goodsspec1").length > 0){
    if(Str1>0){
        $('#editWorkForm').scojs_valid({ 
                rules: {
                    goodsspec:['not_empty'],
                    goodsprice:[{regex: /^[1-9]\d*$/ }],
                    goodspur:['not_empty','digit',{regex: /^[1-9]\d*$/ }],
                    goodsdate:['not_empty','digit',{regex: /^\d+$/}]
                    goodsspec1:['not_empty'],                                    //当这value不空时,  goodsspec1, goodsprice1, goodspur1, goodsdate1 ,才需要验证                              
                    goodsprice1:[{regex: /^[1-9]\d*$/ }],
                    goodspur1:['not_empty','digit',{regex: /^[1-9]\d*$/ }],
                    goodsdate1:['not_empty','digit',{regex: /^\d+$/}]
                    goodsspec2:['not_empty'],                       //当这value不空时,  goodsspec2, goodsprice2, goodspur2, goodsdate2 ,才需要验证   
                    goodsprice2:[{regex: /^[1-9]\d*$/ }],
                    goodspur2:['not_empty','digit',{regex: /^[1-9]\d*$/ }],
                    goodsdate2:['not_empty','digit',{regex: /^\d+$/}]
                },
                messages: {
                    goodsspec1: {
                        not_empty: "请输入数量"
                    },
                    goodsprice1: {
                        regex:'请输入1≤整数'
                    },
                    goodsdate1: {
                        not_empty: "请输入货期",
                        regex:'请输入0≤整数'
                    },
                    goodspur1: {
                        not_empty: "请输入纯度",
                        regex:'请输入1≤整数'
                    }
                }, 
                wrapper:'.form-group1'
                ,onSuccess: function(response, validator, form) {
                tipsOp(response.data,response.status);
                    if(response.url){
                      window.location.href=response.url;
                    }
                }
              
        });
    }    
}    

  • 写回答

2条回答 默认 最新

  • 原莱_ 2022-01-24 14:22
    关注

    将校验规则变成一个方法的返回值,在方法里进行判断

    function rulesvalidate(){
      var Str1=$("#goodsspec1").length;
      var Str2=$("#goodsspec2").length;
      let obj = {}
      if(Str1&&Str2){
        obj = {
          //xxx需要校验的项
          //goodspur:['not_empty','digit',{regex: /^[1-9]\d*$/ }],
          //goodsdate:['not_empty','digit',{regex: /^\d+$/}]
        }
      }else if(Str1){
        obj = {
          //xxx需要校验的项
        }
      }else if(Str2){
        obj = {
          //xxx需要校验的项
        }
      }else{
        obj = {
        //xxx需要校验的项
        }
      }
      return obj
    }
    function ShowStr(x){
      $('#editWorkForm').scojs_valid({ 
          rules: rulesvalidate(),
      })
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月17日
  • 已采纳回答 2月17日
  • 创建了问题 1月24日

悬赏问题

  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害