首页 > 其他分享 >表单元素验证的几种场景

表单元素验证的几种场景

时间:2023-05-22 14:46:05浏览次数:34  
标签:digits 场景 验证 pattern required 表单 message find

表单元素验证的几种场景

weixin_30444105

于 2017-03-23 11:15:00 发布

61
 收藏
版权
表单验证在项目中使用还是比较多的,常见的场景我尝试着综合一下,只选取两个例子:

1,简单的表单验证:

    // 表单验证
    $inputForm.validate({
        rules: {
            consignee: "required",
            areaId: "required",
            address: "required",
            zipCode: {
                required:true,
                pattern:/^[0-9]{6}$/
            },
            phone: {
                required:true,
                pattern:/(\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$/
            }
        }
    });
2,表单提交时进行验证:

// 表单验证
    $inputForm.keypress(function(event){
        if(event.keyCode !=13 ){
            $inputForm.validate({
                rules: {
                    productCategoryId: "required",
                    name: "required",
                    sn: {
                        pattern: /^[0-9a-zA-Z_-]+$/,
                        remote: {
                            url: "check_sn.jhtml",
                            cache: false
                        }
                    },
                    price: {
                        required: true,
                        min: 0,
                        decimal: {
                            integer: 12,
                            fraction: ${setting.priceScale}
                        }
                    },
                    electronicPrice: {
                        min: 0,
                        decimal: {
                            integer: 12,
                            fraction: ${setting.priceScale}
                        }
                    },
                    cost: {
                        min: 0,
                        decimal: {
                            integer: 12,
                            fraction: ${setting.priceScale}
                        }
                    },
                    overReadFiguresj: {
                        min: 0,
                        decimal: {
                            integer: 12,
                            fraction: ${setting.priceScale}
                        }
                    },
                    overReadBook: {
                        min: 0,
                        decimal: {
                            integer: 12,
                            fraction: ${setting.priceScale}
                        }
                    },
                    overReadFigure: {
                        min: 0,
                        decimal: {
                            integer: 12,
                            fraction: ${setting.priceScale}
                        }
                    },
                    marketPrice: {
                        min: 0,
                        decimal: {
                            integer: 12,
                            fraction: ${setting.priceScale}
                        }
                    },
                    thcj: {
                        pattern:/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
                    },
                    thzj: {
                        pattern:/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
                    },
                    grossWeight: {
                        pattern:/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
                    },
                    netWeight: {
                        pattern:/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
                    },
                    importDate: {
                        pattern: /^[1-2][0-9][0-9][0-9][0-1]{0,1}[0-9][0-3]{0,1}[0-9]$/,
                    },
                    weight: "digits",
                    preEntryNumber: "digits",
                    pieces: "digits",
                    stock: "digits",
                    thhh: "digits",
                    thbb: "digits",
                    //thfd: "digits",
                    //thsl: "digits",
                    thsp: "digits",
                    thbeian: "digits",
                    point: "digits",
                    pages: "digits",
                    words: "digits"
                },
                messages: {
                    sn: {
                        pattern: "${message("admin.validate.illegal")}",
                        remote: "${message("admin.validate.exist")}"
                    }
                },
                submitHandler: function(form) {
                    var isRepeats1 = null;
                    var parameters1 = new Array();
                    $timePriceTable.find(".timePriceValueTr").each(function() {
                        var tdArr = $(this).children();
                        var parameter = tdArr.eq(0).find("span").text();
                        if ($.inArray(parameter, parameters1) >= 0) {
                            $.message("warn", "${message("admin.product.timePriceValueRepeat")}");
                            isRepeats1 = true;
                            return false;
                        } else {
                            parameters1.push(parameter);
                        }
                    });
                    if ($specificationIds.filter(":checked").size() > 0 && $specificationProductTable.find("tr:gt(1)").size() == 0) {
                        $.message("warn", "${message("admin.product.specificationProductRequired")}");
                        return false;
                    } else {
                        var isRepeats0 = false;
                        var parameters0 = new Array();
                        $specificationProductTable.find("tr:gt(1)").each(function() {
                            var parameter = $(this).find("select").serialize();
                            if ($.inArray(parameter, parameters0) >= 0) {
                                $.message("warn", "${message("admin.product.specificationValueRepeat")}");
                                isRepeats0 = true;
                                return false;
                            } else {
                                parameters0.push(parameter);
                            }
                        });
                        if (!isRepeats0&&!isRepeats1) {
                            $specificationProductTable.find("tr:eq(1)").find("select").prop("disabled", true);
                            addCookie("previousProductCategoryId", $productCategoryId.val(), {expires: 24 * 60 * 60});
                            form.submit();
                        }
                    }
                }
            });
        }else{
            return false;
        }
    });
 

 

标签:digits,场景,验证,pattern,required,表单,message,find
From: https://www.cnblogs.com/webSnow/p/17420538.html

相关文章

  • 【PHP兴趣部落-04】html 表单中常用元素
    一、简介html表单中常用的一些元素:比如按钮,输入框、单选框、复选框等控件元素。表单标签:<form>元素标签:<inputtype=”类型”name=”控件名”value=”值”>三、代码<html><head><title>html基本元素学习</title></head><!--表单--><formaction="ok.html"met......
  • Django-验证码功能
    #安装django-simple-captchapipinstalldjango-simple-captcha#settings.pyINSTALLED_APPS=[#...'captcha',]#urls.pyfromcaptcha.viewsimportcaptcha_imagefromdjango.urlsimportpathfrom.viewsimportlogin_viewurlpatterns=[path(......
  • rocky Elasticsearch 8.7.1集群 x-spack 安全验证 及 集群内部TLS加密传输 (ca)
    目录简介环境准备安装配置hostname解析安装systemd脚本ca证书配置给所有ES配置相同的用户密码启动查看 简介常规部署Elasticsearch集群时,不管是集群之间的数据传输,或者是Client访问Elasticsearch集群时均不需要相关验证,可通过对外提供的http接口,......
  • 验证码倒计时
    this.countdownTime=null;letsend=60;--send;this.getSmsCodeTip=`${send}s后重新获取`;this.countdownTime=setInterval(()=>{--send;if(send===0){this.getSmsCodeTip='重新获取';send=60;this.isCountDown=true;clearInterval(th......
  • 基于全志D1-H的Tina Linux SPI主从通信验证实录
    本文转载自:https://bbs.aw-ol.com/topic/3031作者@whycan矿工-小叶背景主控:D1H板卡:两块哪吒开发板(以下简称为主机,从机)操作系统:TinaLinux2.0问题验证D1H芯片SPI主从机通信.硬件接线主机SPI从机SPI19SPI1_MOSISPI1_MOSI1921SPI1_MISOS......
  • 改进django rest framework中的token验证,并加入cache
        在用户验证方面用到token验证,这是一种安卓/iso/..手机客户端常用的,方便的验证方式。原理是客户端给我发一段字符串,这段字符串是用户在注册,登入的时候、服务器生成的,并关联到用户。保存到数据库,然后返回给客户端,客户端之后呢,就可以凭借这个字符串来确认“我是我,不是别人......
  • web Service实践——Xfire的ws-security用户名和密码安全验证
    一、参照《WebService实践之——XFire实例》(本空间的文章)建立一个Xfire的应用;二、引入的jar包:xfire-1.2.6的所有jar包(包括xfire-all-1.2.6.jar),下载地址:http://xfire.codehaus.org/Downloadwss4j-1.5.8.jar:下载地址:http://ws.apache.org/wss4j/三、服务器端1、PasswordHandler类,继......
  • 登陆google账号存在异常,但是无法使用自己的手机号码验证怎么办?
    谷歌账号登陆提示尝试次数过多,暂时无法登陆,这种情况下说明是谷歌在拦截你登陆。一般是因为ip环境异常或谷歌不信任此设备造成的,常见在苹果iPhone设备上。许多登陆DNF韩服谷歌的朋友在iPhone上登陆都容易出现这种情况。如图所示,你尝试次数越频繁,谷歌反而对此登陆活动更加敏感,所以出......
  • 2023新手小白注册谷歌Gmail账号此号码无法用于验证的解决方法,谷歌账号注册详细步骤!
    网友在注册谷歌账号时都会遇到提示”此号码无法用于进行验证“导致注册失败。具体原因是什么?又该如何进行注册?需要解决哪些问题?首先,必须要只知道的是网络很多网友传言中国手机无法申请注册谷歌Gmail邮箱,这完全是子虚乌有的事情。除了Googlevoice虚拟号码以外的任何手机号都能注册......
  • 我的谷歌账号开了两步验证,登录时不会发验证码说我尝试失败次数过多如何解决?
    如果你的谷歌账号开启了二步验证,而且过了很长一段时间没去登陆,再次登陆谷歌商店的时候就会卡在短信验证中,界面没有出现输入框,后面继续尝试就会提示失败的尝试次数过多,暂时无法登陆,请过几小时后重试。这种情况应该怎么办?上述这种情况对于网络情况不佳、来回切换登陆、手贱点多了几次......