从现在开始,使用简单优雅的validata.js
表单验证,是后台开发中万年不变的话题,在经历许多实战之后发现
使用优雅便捷的validate.js实现验证实在是一件非常愉悦的事情
<form data-validate>
Enter:
<input type="password" data-rule="密码:required;number[请输入一个整数];equals(target)"/>
<input type="password" id="target"/>
</form>
在实例用,form元素中加入了data-validate标记,validate.js会为form标记内的验证控件进行自动验证
验证控件使用data-rule标记,data-rule的语法格式是:
提示名称: 规则(规则参数) [自定义提示];
其中 ‘提示名称’与‘自定义提示’都是可选项,某些规则需要传入一个参数,比如equals规则需要传入比较控件的id
自定义提示中可以使用{name}与{arg}变量,这在自定义规则中很有用
validate.js会在验证控件之后加入一个标签<div class="error_msg"></div>该标签的模版在$.validate.errorTemplate中
添加标签的操作由validateHandler实现,validate.js内置了一个简单的验证后操作处理函数
用户可以使用window.validateHandler = function(msg, scrollTo)来自己的验证后处理函数(添加提示标签,滚动到错误控件处)
validate.js内置了一些规则,定义在 $.validate.rules下,其结构如下:
$.validate.rules = {
required: { rule: /./, message: '不能为空' },
equals: {
action: function (el, rule, val, target) {
return val !== $('#'+target).val();
}, message: '两次输入的值不一致'
}
}
用户可以往$.validate.rules添加自定义规则,规则中包含了 rule,action,message
rule表示为一个正则规则,action表示一个函数验证规则,两者是不能同时拥有
message可以是一个“string”也可以是一个函数,如果是“string”类型,那么可以使用{name},{arg}来替换成控件名称与参数
如果是函数,其格式是 message : function (name,arg){ return '' }
使用js获取控件验证状态:
$('[data-rule]').isValidate() -> bool
获取验证消息:
$('form').validate(justTest,scrollTo) ->
param: justTest bool 只是检查,不修改Dom
param: scrollTo bool 滚动到错误元素
return { isValidate : bool,
messages:[{
element:jQueryElement,
message:string
}]
}
从现在开始,使用简单优雅的validata.js的更多相关文章
- 代码首要的目标应该是“解决问题”(包括“没有 bug”),其次的目标才是“简单优雅”。
什么是现实理想主义者 曾经有人看了我的文章,以为我是一个“理想主义者”,来找我聊天.他说:“你知道吗,我跟你一样喜欢简单优雅的代码.上次我在某公司工作,看到他们的代码乱得不成样子,二话没说给他们重写了 ...
- 优雅的vue.js
优雅的vue.js代码 https://www.cnblogs.com/zhengrunlin/p/9164951.html watch 与 computed 的巧妙结合 如上图,一个简单的列表页面. ...
- PNotify – 简单易用的 JS 通知,消息提示插件
PNotify 是一个 JavaScript 通知插件,前身为 Pines Notify.它旨在提供无与伦比的灵活性,同时很容易使用.它可以提供无阻塞的通知,允许用户无需关闭通知或者提示信息就可以点击 ...
- 简单粗暴地理解js原型链–js面向对象编程
简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...
- 五、springboot 简单优雅是实现邮件服务
前言 spring boot 的项目放下小半个月没有更新了,终于闲下来可以开心的接着写啦. 之前我们配置好mybatis 多数据源的,接下来我们需要做一个邮件服务.比如你注册的时候,需要输入验证码来校 ...
- 六、springboot 简单优雅是实现短信服务
前言 上一篇讲了 springboot 集成邮件服务,接下来让我们一起学习下springboot项目中怎么使用短信服务吧. 项目中的短信服务基本上上都会用到,简单的注册验证码,消息通知等等都会用到.所 ...
- 七、springBoot 简单优雅是实现文件上传和下载
前言 好久没有更新spring Boot 这个项目了.最近看了一下docker 的知识,后期打算将spring boot 和docker 结合起来.刚好最近有一个上传文件的工作呢,刚好就想起这个脚手架 ...
- 八、springboot 简单优雅的通过docker-compose 构建
前言 这个项目有一段时间没有更新了,不过我可没有偷懒哟,是偷偷准备了一个大招,现在是时候展示啦哈哈. 我们今天要做的,就是将我们的项目通过docker-compose 构建成镜像运行.为什么要这样做呢 ...
- 十、Spring boot 简单优雅的整合 Swagger2
前言 swagger2 是什么,我这里就不说了,就是一个简单的接口文档,方便前后端联调. 其实之前没有想要到要使用swagger 的.因为我之前用的是YAPI ,不过这个是一个单独的工具.并且是开源的 ...
随机推荐
- 第二章 Mybatis代码生成工具
1.mybatis-generator作用 1).生成pojo 与 数据库结构对应 2).如果有主键,能匹配主键 3).如果没有主键,可以用其他字段去匹配 4).动态select,update,del ...
- Thinkpad 装 centos 7后发热量大处理
原因:由于没有独立显卡驱动导致发热量大,禁用独立显卡去驱动即可. 步骤: 开机按 Fn+F1 进入BIOS. 选择 config 选项卡, 找到 Primary Display [SG] BIOS-- ...
- GPU高性能计算-CUDA
前段时间有个同学的毕设是搞并行计算的,他基本不懂编程把我拉过去帮忙,我之前也没弄过,帮着搞了2天.先把代码贴上去,等有时间在把详细补充一些内容. CUDA编程主要是利用了显卡优越的并行计算能力,把一个 ...
- node-webkit 支持pdf浏览
因为项目最近需要进行pdf文件的预览. 项目:linux平台下使用node-webkit开发的桌面应用. 所以在想如何解决这个问题. 首先,firefox直接可以打开pdf文件,预览效果佳,有菜单,放 ...
- labview学习_入门篇(一)
写在前面的话: 在上大学的时候,实验室的老师推荐用labview工具编写上位机软件,当时不想用labview,感觉不写代码心里不踏实,后来用vb和matalb开发了上位机软件.但现在由于部门的几款工具 ...
- Javascript日期比较
var date1=Date.parse("2014-9-3 11:40:14".replace(/-/g,"/")); var date2=Date.pars ...
- hdoj 1016 Prime Ring Problem
Problem Description A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ... ...
- jquery中的cookie
关于cookie,一直是个很敏感的问题,以前对于cookie的处理,都是用原生的方式处理,创建函数对cookie进行处理,创建,设置以及删除.. function setCookie(key,valu ...
- Win8.1下FreeImage.lib库的配置和简单使用(转)
转自http://www.codeweblog.com/win8-1下freeimage-lib库的配置和简单使用/ 首先,你可以从这里获取FreeImage的完整库文件(访问密码 9a5e). 配置 ...
- Win7下硬盘安装Linux双系统
Win7下硬盘安装CentOS6.2 一.准备工作:划出磁盘空闲空间和准备安装文件 参考文献: [Win7下硬盘安装Linux总结(CentOS)]来源:Linux社区 作者:lixianlin ...