jQuery表单验证(Validate)使用方法

article/2025/10/1 3:57:32

表单的校验是jQuery给页面开发者带来极大便利的功能之一,无论是在校大学生还是已经上班的工程师,都可以了解一下表单校验的基本功能。

目录

        • 1.先来一张简单的表单
        • 2.引入需要用到的jQuery
        • 3.指定需要验证的内容
        • 4.如何自定义报错信息的位置
        • 5.如何添加其他的验证信息呢
        • 6.如何让显示的内容为中文呢
        • 7.动态生成的代码如何添加限定条件呢
        • 8.我想自定义校验规则的名字怎么办

1.先来一张简单的表单

    <form id="login"><label for="account" >账号</label><input  id="account" name="account" /><input type="submit" value="提交"/></form>

2.引入需要用到的jQuery

方便起见我们直接引入在线的jQuery,一个基本的jquery.js和一个表单验证需要用到的jquery.validate.js。
如果有需要的话可以直接将连接复制到浏览器打开,复制页面上的内容,粘贴到本地文件也是可以的。

 <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/jquery.js"></script><script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script>

3.指定需要验证的内容

在页面的<head></head>中写入JS代码

       <script>$().ready(function() {  $("#login").validate();  });  </script>

在原先页面的基础上,找到需要验证的输入框,在class中输入

class="required" 
    <form id="login"><label for="account" >账号</label><input  id="account" name="account" class="required"/><input type="submit" value="提交"/></form>

在这里插入图片描述

4.如何自定义报错信息的位置

例如我想让出错信息出现在输入框的下方,该如何做呢。
也是比较简单的,不过设计到页面的变动,只不过我们需要稍微修改一下页面的布局。

    <form id="login"><div><label for="account" >账号</label><input  id="account" name="account" class="required"/><br></div><input type="submit" value="提交"/></form>

在这里插入图片描述
有看出和原来的区别吗?我们在输入框的周围加了一层<div></div>,同时为了确保错误信息可以显示在输入框的下方,我们还添加了一个<br>

新增的JS代码

       <script>$().ready(function() {  $("#login").validate({errorPlacement: function(error, element) {error.appendTo(element.parent()); }});});  </script>

上述代码和原先相比,这里新增一个函数errorPlacement,errorPlacement这个函数是jQuery内置的,error表示错误信息,element表示校验的元素。
这里选择在元素的父元素(就是我们之前加的<div></div>)的下方添加错误信息,为了保证换行效果,还在其中添加了<br>元素。
在这里插入图片描述

5.如何添加其他的验证信息呢

例如长度限制、是否要求为整数等等,显然在class里面添加过多的元素并不是一个好主意,所以我们选择在JS中增加输入框的验证要求。
直接上代码

       <script>$().ready(function() {  $("#login").validate({errorPlacement: function(error, element) {error.appendTo(element.parent()); },rules:{account:{maxlength:3,digits:true}}});});  </script>

在之前的JS代码中,我们新增了rules,在rules中输入需要验证的输入框的id,然后输入需要限定的内容即可。
如上述代码所示,这里要求输入框的长度不得查过3个长度(有需要其他校验要求的可以百度一下看关键字是什么),同时要求输入的数字为整数,来看一下效果
在这里插入图片描述
在这里插入图片描述

6.如何让显示的内容为中文呢

又或者说,我希望自定义报错的信息。
在JS中新增一段代码

        $.extend($.validator.messages, {required: "这是必填字段"})

现在我们再来看看效果
在这里插入图片描述
当然了,没有定义的内容还是默认显示英文。

7.动态生成的代码如何添加限定条件呢

在某些特定的场景下,页面上显示的内容都是根据数据库里返回的数据从而动态生成的,包括输入框的校验要求,那该如何处理呢。

这里我们就可以用到jQuery动态添加验证规则。

首先为了让代码更见简介,也能让大家更加清晰,我们先去掉手动添加的校验规则和自定义报错信息。
原始的JS代码如下:

       <script>$().ready(function() {  $("#login").validate({errorPlacement: function(error, element) {error.appendTo(element.parent()); }});});  </script>

使用jQuery动态添加验证规则的JS代码:

       <script>$().ready(function() {  $("#login").validate({errorPlacement: function(error, element) {error.appendTo(element.parent()); }});$("#account").rules("add", {required : true});});  </script>

新增的一段代码是

        $("#account").rules("add", {required : true});

同理,如果我们希望整个页面都是动态的,只要保证后台返回的数据里面包含:
1.页面元素ID
2.校验要求(如required,maxlength等等)
3.校验数值(例如true或者数字)
在这里插入图片描述

8.我想自定义校验规则的名字怎么办

目前来看,我们引入的都是在线亦或者是人家写好的validate.js,像number、digits等名字都是定好的,如果我想把number改为numberForMe之类的,要如何去做呢。
只要在JS里面加一个函数就可以了,如下所示:

	jQuery.validator.addMethod("numberForMe",function(a,b){//开始做校验,返回false表示要显示错误信息,返回true表示无需显示。XXXXXXreturn true或者false;},$.validator.format("请输入数字"));

完整JS代码:

      <script>$().ready(function() {  $("#login").validate({errorPlacement: function(error, element) {error.appendTo(element.parent()); }});$("#account").rules("add", {numberForMe: true});jQuery.validator.addMethod("numberForMe",function(a,b){return XXXXX},$.validator.format("请输入数字"));</script>

这样子即自定义了校验的名字,又可以自定义校验规则,还可以自定义校验的输出,一举多得。


http://chatgpt.dhexx.cn/article/V1OLxQmm.shtml

相关文章

jQuery插件及表单验证

一、自定义插件 前提&#xff1a;引入jquery-3.3.1.js <script src"js/jquery-3.3.1.js" type"text/javascript"></script> 1、$.extend(对象1&#xff0c;对象2) 对象1继承对象2 /*自定义插件*/$(function(){//$extend(对象1,对象2) 对象1…

jq表单验证

<!DOCTYPE html> <html><head><title>手工实现表单验证</title><meta charset"utf-8" /><script src"scripts/jquery-1.11.3.js"></script></head><body><fieldset><legend>用户…

用jQuery实现表单验证

转载自&#xff1a;https://www.cnblogs.com/hellowzl/p/5612122.html ——选自《锋利的jQuery》&#xff08;第2版&#xff09;第5章的例题 5.1.5 表单验证 表单&#xff08;form&#xff09;作为 HTML 最重要的一个组成部分&#xff0c;几乎在每个网页上都有体现&#xff0…

jQuery-表单验证使用方法

目录 一、表单验证单词二、思维导图三、表单验证的使用方法四、复选框全选和取消全选 一、表单验证单词 二、思维导图 三、表单验证的使用方法 代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title><…

jQuery-表单校验

为什么要表单验证 1.减轻服务器的压力 2.保证输入的数据符合要求 常用的表单验证 日期格式表单元素是否为空用户名和密码E-mail地址身份证号码 表单选择器 语法 描述 示例 :input 匹配所有input、textarea、select和button 元素 $("#myform :input")选取…

jQuery实现表单验证

1.基于html表单&#xff0c;利用jQuery实现表单验证功能。 2.html基本结构和样式&#xff1a; 3.html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <h…

JQuery-表单验证

1.什么是表单验证&#xff1f; 表单验证是javascript中的高级选项之一。 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。 2.为什么表单验证&#xff1f; 减轻服务器的压力 。 保证输入的数据符合要求。 3.案例 实现表单验证的案例在这里用GiWiFI页面…

SurfaceTexture

SurfaceTexture 类是在 Android 3.0 中引入的。就像 SurfaceView 是 Surface 和 View 的结合一样&#xff0c;SurfaceTexture 是 Surface 和 GLES texture 的粗糙结合&#xff08;有几个警告&#xff09;。 当你创建了一个 SurfaceTexture&#xff0c;你就创建了你的应用作为消…

UserWarning: findfont: Font family [‘sans-serif‘] not found. Falling back to DejaVu Sans

Python数据可视化分析时出现UserWarning: findfont: Font family [‘sans-serif’] not found. Falling back to DejaVu Sans…报错 原因&#xff1a;库中没有关于’Microsoft YaHei’的引用 换一种字体记一下 如 字体中文名称字体英文名称黑体SimHei宋体SimSun新宋体NSimSum…

The tag <fonta> is unrecognized in this browser. If you meant to render a React component, start its

写react 组件样式 styled-components 报错 是因为react 千万记住开头字母是大写 由于这个f小写了 但是这个是当成了一个组件在用 所以会一直报错 改为大写就会解决了 小伙伴们千万注意 react的项目组建开头必须大写

createfont(CreateFontIndirectW)

如何用CreateFont创建制定点大小的字符 import java.awt.Font; import java.io.File; import java.io.FileInputStream; public class Loadfont public static Font loadFont(String fontFileName, float fontSize) //第一个参数是外部字体名&#xff0c;第二个是字体大小 File…

MindFusion.WinForms Pack 2022.R2

MindFusion.WinForms Pack 2022.R2 每个节点多个标签-允许为单个流程图节点显示多个标题。您可以自定义节点标签&#xff0c;包括显示和定位。 混杂的 bhMoveLabels行为现在允许用户交互移动链接和节点标签。 水平偏移和垂直偏移现在适用于使用SetLinkLengthPosition方法定位的…

findfont: Font family [‘Times New Roman‘] not found. Falling back to DejaVu Sans.字体安装

问题描述 使用python对数据进行可视化的时候&#xff0c;matplotlib绘图的时候&#xff0c;提示警告如题所示&#xff1a; UserWarning: findfont: Font family [Times New Roman] not found. Falling back to DejaVu Sans. 环境说明&#xff1a;使用的是 CentOS系统&#xf…

Could not load file or assembly ‘office, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce11

Could not load file or assembly office, Version12.0.0.0, Cultureneutral, PublicKeyToken71e9bce11 window10 Could not load file or assembly office, Version12.0.0.0, Cultureneutral, PublicKeyToken71e9bce11 新的改变 我们对Markdown编辑器进行了一些功能拓展与语…

jasperreports6.12.2 could not load the following font解决方法

jasperreports通过Java代码生成PDF的时候不能获取中文字体&#xff0c;报错提示如下&#xff1a; net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font: pdfFontName: STSong-Light pdfEncoding: Identity-H isPdfEmbedded : true本次环境&…

快速小巧的粘贴应用程序Hasty Paste

什么是 Hasty Paste? Hasty Paste 是一个快速粘贴文本并共享的地方&#xff0c;主要用于共享调试日志等&#xff0c;以帮助开发人员提供技术支持。该项目的目标是既快又小。 命令行安装 在群晖上以 Docker 方式安装。 官方的镜像没有发布在 docker hub&#xff0c;而是在 gh…

SpringBoot--解决BigDecimal传到前端后精度丢失的问题

原文网址&#xff1a;SpringBoot--解决BigDecimal传到前端后精度丢失的问题_IT利刃出鞘的博客-CSDN博客 简介 本文用示例介绍SpringBoot如何解决BigDecimal传到前端后精度丢失问题。 解决方案是&#xff1a;转成字符串格式返回。 问题描述 实例 Controller package com.…

BigDecimal 简单使用

目录 为什么使用BigDecimal 解决方案 构造方法 类型转换 double 转 BigDecimal BigDecimal 转 String BigDecimal 转 double/int/long等 加减乘除取余 divide 舍入模式 比较大小 格式化(DecimalFormat) 小结 为什么使用BigDecimal 1.float和double类型的主要设计目…

BigDecimal用法

文章目录 1、创建一个BigDecimal对象1.1、常用构造函数1.1、常用计算方法 2、BigDecimal很方便的几个用法2.1、用BigDecimal去除小数点后多余的0&#xff1a;stripTrailingZeros()2.2、BigDecimal的原值和科学计数值2.3、用BigDecimal比较大小&#xff1a;compareTo()2.4、BigD…

mysql bigdecimal查询_mysql bigdecimal

java学习:Java中的其它类 568x573 - 55KB - JPEG Java中BigDecimal类你了解多少?! 720x480 - 30KB - JPEG TypeHandlers 640x396 - 25KB - JPEG BigDecimal equals方法可能不相等 678x260 - 9KB - JPEG