jQuery插件【validate】国际化校验插件

news2025/1/19 7:09:28

jQuery插件系列

在这里插入图片描述
相信大家在网站上都遇到过这种注册的情况吧,有的时候我们什么也不输入点登录或者注册或者鼠标失去焦点的时候,就会自动提示xxx为空,密码不正确,请输入xxx等一系列的提示信息。

那么这是怎么实现的呢,其实这与前端的参数规则校验密不可分,在我们的项目开发中,少不了这种规则校验的操作,目的也很简单:就是为了使得程序更加严谨,逻辑更加严格缜密。

今天介绍的是一个基于jQuery的校验插件validate
官网:https://jqueryvalidation.org/
在这里插入图片描述


文章目录

  • jQuery插件系列
  • 前言
  • 一、validate使用
    • 1.1 CDN引入
    • 1.2 下载js文件引入
    • 1.3 提示信息汉化
  • 二、validate()方法
  • 三、常用默认验证规则
  • 四、设置校验规则
    • 4.1 使用默认的
    • 4.2 使用rules字段自定义规则
  • 五、调试修改提交规则
    • 5.1 调试模式
    • 5.2 改变提交规则
  • 六、remote参数


前言

validate插件是一款功能强大的jQuery插件,它不仅支持多种的规则校验,如:数字,必输,邮箱。长度,密码等,最重要的是:还支持自定义规则和提示信息


一、validate使用

要使用validate 首先需要引入对应的js文件去项目中。

1.1 CDN引入

<script src="https://cdn.bootcdn.net/ajax/libs/jquery-validate/1.19.5/jquery.validate.js"></script>

1.2 下载js文件引入

下载地址:官网:https://jqueryvalidation.org/

    <script type="text/javascript" src="jquery-2.2.3.js"></script>
    <script type="text/javascript" src="jquery.validate.js"></script>

1.3 提示信息汉化

如果需要汉化提示信息,则可引入汉化的js文件

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

这里提供菜鸟教程的cdn地址
如果是下载的话,则可以去validate的下载目录下的dist\localization目录下,找到messages_zh.js汉化文件

二、validate()方法

在 JS 文件对相应的form调用validate(),该方法就是调用validate的默认的校验方法。

说明: 在jQuery的插件里,所有的插件方法,参数基本都是以json格式编写的

$('#reg').validate(); // 调用默认的validate方法,无参数

$('#reg').validate({ // 自定义参数设定定制化的校验规则以及提示信息
	参数名: 参数值,
	参数名: 参数值,
	...
	参数名: 参数值,
});

三、常用默认验证规则

规则名说明
required:true必须输入字段
email:true必须输入正确格式的电子邮件
url:true必须输入正确格式的网址
date:true必须输入正确格式的日期(IE6 验证出错)
dateISO:true必须输入正确格式的日期(ISO) (只验证格式, 不验证有效)
number:true必须输入合法的数字(负数,小数)
digits:true必须输入正整数
creditcard:true必须输入合法的信用卡号,例如:5105105105105100
equalTo:”#password”输入值必须和#field 相同 支持css选择器
minlength:5输入长度最小是 5 的字符串(汉字算一个字符)
maxlength:10输入长度最多是 10 的字符串(汉字算一个字符)
range:[5,10]输入长度介于 5 和 10 之间的字符串”)(汉字算一个字符)
min:5输入值不能小于 5
max:10输入值不能大于 10
remote:”url”使用 ajax 方法调用 check.php 验证输入值

四、设置校验规则

4.1 使用默认的

直接在表单选项框里输入对应的规则名,如下:

<p>用户名(必须,最小6位):<input type="text" name="username" required minlength="6"></p>
<p>密码(必须6-8位):<input id="#pwd1" type="password" name="pwd1" required minlength="6" maxlength="8"></p>
<p>确认密码(与密码相同):<input type="password" name="pwd2" required equalTo="#pwd1"></p>

第一种方式会使得input表达输入框变得格外的长,是的代码观赏性不佳。,所以一般是用第二种方式。

4.2 使用rules字段自定义规则

刚才说过,jQuery的插件大多数是以json字串的方式编写参数和值的。那么validate也不例外。如下:

	<form action="wyp" method="post">
	 <p>年龄:<input type="number" name="age" required minlength="0" maxlength="100"></p>
     <p><input type="submit" value="提交"></p>
    </form>
    <script>
        $(function(){
        // 重新定义表单方式 自定义
        $('#form').validate({
                // 校验规则
                rules:{
                    age: {
                        required:true,
                        min:0,
                        max:100,
                    }
                },
                // 使用的是表单的name属性
				messages: {
					// 属性名是输入框内部的值
                    age: {
                        required:"请输入年龄",
                        min:"年龄不能小于0岁",
                        max: '年龄最大100岁',
                    }
				}
			}); //开启验证
        })
    </script>

validate的自定义规则都写在rules的对象里,对象里是以键值对的形式书写规则的
validate的错误提示规则都写在messages的对象里,同理rules也是键值对的形式书写。

五、调试修改提交规则

5.1 调试模式

开启调试模式,validate提供了两种方式,而调试模式很好的为我们调试代码做出了方便。完全可以避开submit事件,只校验规则不提交表单。
【方式一】
为单独某个表单开启

$("#form1").validate({
	debug:true,
})

【方式二】
全局开启

$.validator.setDefaults({
	debug:true
})

5.2 改变提交规则

validate为我们提供了一个提交表达的方法,它优先于表单的提交事件

$('#form1').validate({
    submitHandler : function(){
    // 指定提交的逻辑 地址 等信息
    },
});

六、remote参数

remote参数是使用后端的接口对前端的参数进行校验的一个参数配置

<form id="form">
	<input name="username" type="text"/>
</form>
<script>
	$("#form").validate({
	rules:{
		username:{
			required: true,
			minlength:3,
			maxlength:18,
			remote:{
				url:'校验用户名的后端地址', // url 后台校验的api
				type:'GET', // 提交方式
				dataType: 'json', // 参数格式
				data: {			// 提交的参数 k-v
					username:function(){
						return $("#username").val();
					}
				}
			}
		}
	},
	 messages:{
                    userName: { 
                        required: "请输入用户名!",
                        minlength: "用户名长度最少需要3位!",
                        maxlength: "用户名长度最大不能超过18位!",
                        remote: "此用户名已存在!"
                     },
   }
})
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】No.101. Symmetric Tree -- Java Version

题目链接&#xff1a;https://leetcode.com/problems/symmetric-tree/ 1. 题目介绍&#xff08;Symmetric Tree&#xff09; Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center). 【Translate】&#xff1a; 给定…

QT实战项目1——无边框窗口拖拽和阴影

课时2 开发环境,无边框窗口拖拽和阴影_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV14t411b7EL?p2&vd_source0471cde1c644648fafd07b54e303c905 目录 一、设置无边框 和 鼠标可以拖动窗口 1.1 设置无边框 1.2 鼠标拖动 1.3 展示阴影 一、设置无边框 和 鼠标可…

设计模式-组合模式

组合模式一、学校院系展示需求二、传统方案解决学校院系展示三、组合模式基本介绍四、组合模式原理类图五、组合模式解决的问题六、使用组合模式解决院校展示问题6.1、类图6.2、代码一、学校院系展示需求 编写程序展示一个学校院系结构&#xff1a;需求是这样&#xff0c;要在…

SQL练习题

新建数据表 首先建立测试数据库的表&#xff0c;新建数据库的sql语句如下&#xff0c;大家可以粘贴成一个sql文件&#xff0c;然后新建所有的表并插入所有的数据&#xff1a; 新建数据库sql文件&#xff1a; DROP TABLE IF EXISTS EMP; DROP TABLE IF EXISTS DEPT; DROP TAB…

Unity UI锚点和位置关系

一、Anchors锚点 Anchors的设置会直接改变RectTransform中它的位置信息&#xff1b;Anchors设置中的X 改变会影响&#xff08;PosX和Width&#xff09;或&#xff08;left和right&#xff09; 1、Anchors改变位置信息 下图中X锚点的Min和Max值相同时&#xff0c;上面的一栏中…

Java调用命令行并返回打印的内容

博主在最近的工作中&#xff0c;收到了这样一个需求。 调用别人以前完成开发的 jar 包或 python 程序&#xff0c;并将原程序在命令行中输出的内容封装为 JSON 对象后通过 RESTFul 接口返回。 面对以上的需求&#xff0c;博主给出了以下解决方案。话不多说&#xff0c;上代码。…

Mathematica for Linux v13.1.0 科学计算软件多语言版

Wolfram Mathematica for Linux 中文正式版是一款强大的数学计算科学计算软件&#xff0c;MathWorks MATLAB 和 Wolfram Mathematica 、Maplesoft Maple 并称为三大数学软件&#xff0c;Wolfram Mathematica 中文正式版主要用于符号计算软件&#xff0c;也称为计算机代数系统&a…

MySQL如何恢复不小心误删的数据记录(binlog)

前言 题主于今天&#xff08;2022年11月27日&#xff09; 在线上环境误操作删除了记录&#xff0c;且没有备份数据&#xff0c;通宵排查事故原因&#xff0c;终于没有酿成生产事故。谨以此文记录。 参考资料 https://blog.csdn.net/qq_23543983/article/details/127298578 …

单源最短路径问题(Java)

单源最短路径问题&#xff08;Java&#xff09; 文章目录单源最短路径问题&#xff08;Java&#xff09;1、问题描述2、算法思路3、代码实现4、算法正确性和计算复杂性4.1 贪心选择性质4.2 最优子结构性质4.3 计算复杂性5、参考资料1、问题描述 给定带权有向图G(V,E),其中每条…

分布式电源接入对配电网的影响matlab程序(IEEE9节点系统算例)

分布式电源接入对配电网的影响matlab程序&#xff08;IEEE9节点系统算例&#xff09; 摘 要&#xff1a;分布式电源的接入使得配电系统从放射状无源网络变为分布有中小型电源的有源网络。带来了使单向流动的电流方向具有了不确定性等等问题&#xff0c;使得配电系统的控制和管…

Android反编译apk

文章目录安装Android Studio1. 解压apk文件方法一&#xff1a;使用apktool反编译&#xff08;得到的是.smali文件和可直接读的资源文件&#xff0c;如果要得到.dex文件&#xff0c;还要看方法二&#xff09;方法二&#xff1a;使用解压工具解压&#xff08;得到的是.dex文件和二…

SpringBoot项目集成Dubbo

1.环境搭建 为整合Dubbo之前&#xff0c;我们所写的项目都是单一应用架构&#xff0c;只需要一个应用&#xff0c;将所有功能都部署在一起&#xff0c;在应用内部是控制层调用业务层&#xff0c;业务层调用数据持久层&#xff1b;如今&#xff0c;整合Dubbo后&#xff0c;我们…

独立产品灵感周刊 DecoHack #039 - 制作自己的音乐墙

本周刊记录有趣好玩的独立产品设计开发相关内容&#xff0c;每周发布&#xff0c;往期内容同样精彩&#xff0c;感兴趣的伙伴可以点击订阅我的周刊。为保证每期都能收到&#xff0c;建议邮件订阅。欢迎通过 Twitter 私信推荐或投稿。自荐产品 1. planet-tab - 由独立开发者 ha…

【云原生】Docker的私有仓库部署——Harbor

内容预知 1.Docker原生私有仓库—— Registry 1.1 Registry的简单了解 1.2 Registry的部署过程 步骤一&#xff1a;拉取相关的镜像 步骤二&#xff1a;进行 Registry的相关yml文件配置&#xff08;docker-compose&#xff09; 步骤三&#xff1a;镜像的推送 2. Registry的…

SpringBoot SpringBoot 原理篇 2 自定义starter 2.6 拦截器开发

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇2 自定义starter2.6 拦截器开发2.6.1 拦截器开发2.6.2 小结2 自定义starter …

2022年11月27日学习 SVM

SVM&#xff0c;英文全称为 Support Vector Machine&#xff0c;中文名为支持向量机 ​ SVM也是一种分类算法&#xff0c;它的核心思想用我自己的话来讲就是先找到两个类别中距离最近的几个点作为支持向量&#xff0c;然后计算超平面&#xff0c;超平面需要间隔最大化。然后用超…

【Hack The Box】linux练习-- Previse

HTB 学习笔记 【Hack The Box】linux练习-- Previse &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年11月27日&#x1f334; &#x1f…

Microsoft SQL Server中的错误配置

介绍 这篇文章将介绍如何利用Microsoft SQL Server中的错误配置&#xff0c;尝试获取反向shell并熟悉Impacket工具的使用&#xff0c;以便进一步攻击某些服务。 impacket的安装地址&#xff1a;https://github.com/SecureAuthCorp/impacket Impacket是用于处理网络协议的Pyt…

FPGA学习-vivado软件的使用

FPGA学习-vivado软件的使用1.杂谈2. vivado新建工程1.杂谈 又被封了7天。 正好封控前领导让我改下fpga代码&#xff0c;趁这个机会好好学习下&#xff0c;虽然在这块一片空白&#xff0c;但是毕竟这块是我的短板&#xff0c;一个不会写代码的硬件工程师是一个不完整的硬件工程…

无条码商品新建商品档案,搭配蓝牙便携打印机移动打印条码标签

null无条码商品的商品档案新建&#xff0c;并打印条码标签&#xff0c;即可实现仓库条码管理&#xff0c;扫码入库&#xff0c;出库&#xff0c;盘点等操作。, 视频播放量 1、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 汉码盘点机PDA, 作者简介 &am…