Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >jQuery Validate插件实现表单验证

jQuery Validate插件实现表单验证

作者头像
别团等shy哥发育
发布于 2023-02-25 09:22:51
发布于 2023-02-25 09:22:51
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

jQu​​ery Validate

前言

jQuery Validate插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供可选的定制选项,以满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括URL和电子邮件验证,同时提供了一个使用编写用户自定义方法的API。所有的捆绑方法替换使用英语作为错误信息,并已翻译成其他37种语言。

引入js库

由于每个人放置的位置不一样,所以相对路径也会不一样,自己改下路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="/ssm_test/commons/jslib/hplus/js/jquery.min.js"></script>
<script
        src="/ssm_test/commons/jslib/hplus/js/plugins/validate/jquery.validate.min.js"></script>
<script
        src="/ssm_test/commons/jslib/hplus/js/plugins/validate/messages_zh.min.js"></script>

默认验证规则

规则

描述

required

必须输入的字段

remote:“check.php”

使用ajax方法调用check.php验证输入值

email:true

必须输入正确的电子邮件

url:true

必须输入正确的网址

date:true

必须输入正确的日期格式。日期检验ie6出错,慎用

dateISO:true

必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01.22.只验证格式,不验证有效性

number:true

必须输入合法的数字(负数、小数)

digits:true

必须输入整数

creditcard

必须输入合法的信用卡号

equalTo:"#field"

输入值必须和#field相同

accept:

输入拥有合法后缀名的字符串(上传文件的后缀)

maxlength:5

输入长度最多是5的字符串(汉字算一个字符)

minlength:5

输入长度最小是5的字符串(汉字算一个字符)

rangelength:[5,10]

输入长度必须介于5和10之间的字符串

range:[5,10]

输入值必须介于5和10之间

max:5

输入值不能大于5

min:10

输入值不能小于10

Demo

表单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<form  method="post" class="form-horizontal" id="addform"  enctype="multipart/form-data">
                            <div class="form-group">
                                <label class="col-sm-3 control-label">商品编码</label>
                                <div class="col-sm-8 controls">
                                    <input type="text" value="" class="form-control" name="code"
                                           id="product_code" />
                                </div>
                            </div>
                            <div class="form-group">
                                <label class="col-sm-3 control-label">商品名称</label>
                                <div class="col-sm-8 controls">
                                    <input type="text" value="" class="form-control" name="name"
                                           id="product_name" />
                                </div>
                            </div>
                            <div class="form-group">
                                <label class="col-sm-3 control-label">商品类型</label>
                                <div class="col-sm-8 controls">
                                    <select class="form-control productTypeId" name="type.id" id="product_type">
                                    </select>
                                </div>
                            </div>
                            <div class="form-group">
                                <label class="col-sm-3 control-label">商品品牌</label>
                                <div class="col-sm-8 controls">
                                    <input type="text" value="" class="form-control" name="brand" id="product_brand"/>
                                </div>
                            </div>
                            <div class="form-group">
                                <label class="col-sm-3 control-label">商品数量</label>
                                <div class="col-sm-8 controls">
                                    <input type="text"  class="form-control" name="num" id="product_num"/>
                                </div>
                            </div>
                            <div class="form-group">
                                <label class="col-sm-3 control-label">商品价格</label>
                                <div class="col-sm-8 controls">
                                    <input type="text"  class="form-control" name="price" id="product_price"/>
                                </div>
                            </div>
                            <div class="form-group">
                                <label class="col-sm-3 control-label">商品介绍</label>
                                <div class="col-sm-8 controls">
                                    <input type="text" value="" class="form-control" name="intro" id="product_intro"/>
                                </div>
                            </div>
                            <div class="form-group">
                                <label class="col-sm-3 control-label">商品状态</label>
                                <div class="col-sm-8 controls">
                                    <select class="form-control productTypeId" name="status" id="product_status">
                                        <option value="1">在售</option>
                                        <option value="0">下架</option>
                                    </select>
                                </div>
                            </div>
                            <div class="form-group">
                                <label for="file" class="col-sm-3 control-label">商品图片</label>
                                <div class="col-sm-8 controls">
                                    <input type="file" class="form-control" name="file" id="file"/>
                                </div>
                            </div>
                            <div class="control-group">
                                <div class="controls">
                                    <input type="submit" class="btn btn-gmtx-define1 center-block">
                                        添加
                                    </input>
                                </div>
                            </div>
                        </form>

js部分:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$("#addform").validate({
                rules : {
                    code:{
                        required : true,
                        maxlength: 50
                    },
                    name:{
                        required : true,
                        maxlength: 50
                    },
                    "type.id": {
                        required : true,
                    },
                    brand:{
                        required:true,
                    },
                    num:{
                        required:true,
                    },
                    price:{
                        required:true,
                    },
                    intro:{
                        required:true,
                    },
                    status:{
                        required:true,
                    }
                },
                messages : {
                    code : {
                        required : "请输入商品编码",
                        maxlength: "参数名过长"
                    },
                    name : {
                        required : "请输入商品名称",
                        maxlength: "参数名过长"
                    },
                    "type.id": {
                        required : "请选择商品类型"
                    },
                    brand:{
                        required:"请输入商品品牌"
                    },
                    num:{
                        required:"请输入商品数量"
                    },
                    price:{
                        required:"请输入商品价格"
                    },
                    intro:{
                        required:"请输入商品介绍"
                    },
                    status: {
                        required:"请选择商品状态"
                    }
                },
                submitHandler : function() {
                   	//这里写验证成功的逻辑
                }
            });

测试

下面是一个表单

我们不输入任何值,直接点击提交,可以看到并没有执行submit,而是触发了validate

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Django—Form、ModelFor
一、Form form.py from django import forms from django.core.exceptions import ValidationError from django.contrib.auth.models import User import re # 定义手机号验证规则 def phone_validate(value): phone = re.compile(r'^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[
py3study
2020/01/16
9920
springmvc文件上传(ajax请求 带参数)
这里用ajax文件上传,并携带几个参数,网上查到的大多都是没带参数只有文件的。 由于我项目代码太多,这里只给出关键代码。
别团等shy哥发育
2023/02/25
1.2K0
python测试开发django-182.jQuery重置form表单
在页面上弹出添加的模态框,添加完成后,下次继续添加,此时需要重置 form 表单。
上海-悠悠
2022/01/10
1.6K0
python测试开发django-182.jQuery重置form表单
JQuery.validationEngine表单验证插件
JQuery.validationEngine表单验证控件功能强大,自带了样式显示模式:
全栈程序员站长
2022/11/15
1.9K0
JQuery.validationEngine表单验证插件
jquery 获取当前select onchange事件
六月的雨在Tencent
2024/03/28
1990
jquery 获取当前select onchange事件
黑马程序员----基于BootStrap框架的网页制作综合案例
网页制作综合案例 完整源码: 效果演示: ---- 完整源码: <!doctype html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>模板1</title
大忽悠爱学习
2021/11/15
5850
jQuery动态生成input填写时间值并且提交给后端
今天写的一个demo,关于jQuery动态生成input填写时间值并且提交给后端。
王小婷
2019/09/27
2K0
jQuery动态生成input填写时间值并且提交给后端
textarea 高度自适应
六月的雨在Tencent
2024/03/28
2250
PHP实现用户登录注册功能
初学php做了一些比较常见且有用的页面,放在上面记录一下咯 我是用了bootstrap框架里面的模态框做注册登陆页面,这样页面比较美观 页面效果:
用户8099761
2023/05/11
2K0
PHP实现用户登录注册功能
bootstrap 表单 常用样式
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
用户5760343
2022/01/10
8970
bootstrap 表单 常用样式
EngineerCMS核心代码
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/details/53367020
hotqin888
2018/09/11
1.4K0
fastadmin 下拉框(添加关联表id)
1 add.html<div class="form-group"> <label class="control-label col-xs-12 col-sm-2">{:__('Cate_id')}:</label> <div class="col-xs-12 col-sm-8"> <input id="c-cate_id" data-rule="required" data-source="test/cate/index" data-primary-key="cate_id" d
正经人
2022/12/14
2K0
layui 上传图片文件到钉钉服务器
首先先下载layui-2.5.6.zip包,解压后选择自己用到的文件放入项目中。 下载地址:https://download.csdn.net/download/csdn565973850/12299623
六月的雨在Tencent
2024/03/28
1150
layui 上传图片文件到钉钉服务器
Angular 2 + 折腾记 :(7) 初步了解表单:模板驱动及数据驱动及脱坑要点
表单在整个系统中的作用相当重要,这里主要扯下响应表单的实现方式。 首先需要操作表单的模块引入这两个模块; import { FormsModule, ReactiveFormsModule } from '@angular/forms';
CRPER
2018/08/28
3.9K0
Angular 2 + 折腾记 :(7) 初步了解表单:模板驱动及数据驱动及脱坑要点
thymeleaf下拉框多选回显
页面引入css文件 select2.min.css 、 select2-bootstrap.css 、 bootstrap-select.css 引入js文件 select2.min.js 、bootstrap-select.js 页面代码:
六月的雨在Tencent
2024/03/28
2710
Themeleaf通过ajax局部更新
需求:通过改变id,从数据库中回显不同的信息 前端: <div class="row"> <div class="col-sm-6"> <div class="form-group"> <label class="col-sm-4 control-label">单号:</label> <div class="col-sm-8"> //onchange:修改option改变触发函数 <select id="tes
Zero_xxl
2020/08/06
1.2K0
EasyNVR HLS 、RTMP网页直播方案前端完善:监听表单变动
在网页前端的开发过程中时常遇到这样的需求,监听表单的状态。 对于表单的状态为非就是,表单内容发生变化、表单内容没有发生变化。
EasyNVR
2020/04/23
7980
EasyNVR HLS 、RTMP网页直播方案前端完善:监听表单变动
golang-fullcalendar,engineercms完善日历事件-支持拖曳drop,改变时间resize
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/details/54023362
hotqin888
2018/09/11
2K0
golang-fullcalendar,engineercms完善日历事件-支持拖曳drop,改变时间resize
电子规范管理系统(2)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/details/78008917
hotqin888
2018/09/11
1.1K0
电子规范管理系统(2)
python测试开发django-162.ajax 提交表单,防重复提交(beforeSend)
form 表单提交的时候,当快速点击提交按钮的时候,会触发多个请求过去,会导致重复添加。
上海-悠悠
2021/11/05
1.4K0
相关推荐
Django—Form、ModelFor
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验