jquery validate 一个注册表单的应用
先看页面

前端表单代码 register.html
<form class="mui-input-group" id="regForm">
<div class="mui-input-row">
<label>账号</label>
<input id='account' name="account" type="text" class="mui-input-clear mui-input" placeholder="请输入账号" required>
</div>
<div class="mui-input-row">
<label>密码</label>
<input id='password' name="password" type="password" class="mui-input-clear mui-input" placeholder="请输入密码" required>
</div>
<div class="mui-input-row">
<label>确认</label>
<input id='password_confirm' name="password_confirm" type="password" class="mui-input-clear mui-input" placeholder="请确认密码" required>
</div>
<div class="mui-input-row">
<label>邮箱</label>
<input id='email' name="email" type="email" class="mui-input-clear mui-input" placeholder="请输入邮箱" required>
</div> <div class="mui-content-padded">
<button id="reg" type="submit" class="mui-btn mui-btn-block mui-btn-primary">注册</button>
</div>
<div class="mui-content-padded">
<p>注册真实可用,注册成功后的用户可用于登录,但是示例程序并未和服务端交互,用户相关数据仅存储于本地。</p>
</div>
</form>
所引用的js文件
<script type="text/javascript" src="/Public/vendor/jquery/jquery.min.js"></script>
<script src="/Public/vendor/layer/3.0/layer.js"></script>
<script type="text/javascript" src="/Public/vendor/jquery.validation/jquery.validate.min.js"></script>
<script type="text/javascript" src="/Public/vendor/jquery.validation/additional-methods.js"></script>
<script type="text/javascript" src="/Public/vendor/jquery.validation/localization/messages_zh.js"></script>
<script src="/Public/dist/js/common/jQuery.md5.js"></script>
<script type="text/javascript">
$(function(){
let validate = $("#regForm").validate({
onkeyup:false,
submitHandler:function(form){
$.ajax({
url: "__CONTROLLER__/register",
type: 'POST',
dataType: 'json',
data: {
username: $("#account").val(),
password: $.md5($("#password").val())
},
success: function (data) {
if (data.status === 'success') {
layer.msg('注册成功请稍后....', {
icon: 1,
time: 3000,//3秒后跳转
end: function () {
window.location.href = data.url;
}
});
} else {
layer.msg(data.msg, {icon: 2, time: 3000})
}
}
});
return false;
},
rules:{
account:{
rangelength:[6,20],
//异步验证用户名是否存在
remote:{
url:"__CONTROLLER__/checkUserExist",
type:"post",
dataType:"json",
cache:false,
data:{
account:function(){
return $("#account").val();
}
}
}
},
password:{
rangelength:[8,16],
checkPassStrength:true //检验密码强度
},
password_confirm:{equalTo:'#password'}
},
messages:{
account:{remote:'该用户名已存在!'},
password_confirm:{equalTo:'请与密码保持一致'}
},
//修改错误提示的样式
showErrors: function (errorMap, errorList) {
var msg = "";
$.each(errorList, function (i, v) {
layer.tips(v.message , v.element, {
tips: [1, '#CCA32D'],
time: 2000
});
return false;
});
},
}); });
</script>
在 additional-methods.js 这个文件里添加了密码强度的验证方法
//密码强度验证
$.validator.addMethod("checkPassStrength", function(value, element, param){
//方法中又有三个参数:value:被验证的值, element:当前验证的dom对象,param:参数(多个即是数组)
//alert(value + "," + $(element).val() + "," + param[0] + "," + param[1]);
return new RegExp(/(?=.*\d)(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/).test(value);
}, "密码至少包含字母、数字和特殊字符");
在后端验证用户名是否存在
/**
* 查询该用户名是否存在
*/
public function checkUserExist(){
if(IS_POST){
if(M('user')->where(array('username'=>I('account',0)))->find()){
// $this->ajaxReturn(array('status'=>'error','msg'=>'该账户名不存在!'));
exit("false") ;
}else{
exit("true") ;
}
}
}
jquery validate 一个注册表单的应用的更多相关文章
- jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因
jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因 今天利用了jquery.validate.js来验证表单,发现在火狐.谷歌浏览器当中都可以进行验证,但是在IE系列浏 ...
- 获取html 中的内容 将前台的数据获取到后台 用 jquery 生成一个 form表单 提交数据
使用js创建一个form表单 ,使用post上传到后台中 下面是代码.在获取html内容的时候使用了js节点来获取内容. parent:父节点.上一级的节点 siblings:兄弟节点.同一级别的节点 ...
- jquery.validate 使用--验证表单隐藏域
jQuery validate很不错的一个jQuery表单验证插件.升级到了1.9版的后,发现隐藏表单域验证全部失效,特别是在jquery.ui.tabs.min.js构造的Tabs里的验证. 是因为 ...
- validate验证注册表单
点击预览; <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
- jQuery Validate 插件为表单提供了强大的验证功能
之前项目开发中,表单校验用的jQuery Validate 插件,这个插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的 ...
- jQuery validate验证隐藏表单(hidden)域
validate很不错的一个jQuery表单验证插件.升级到了1.9版的后,发现隐藏表单域验证全部失效,特别是在jquery.ui.tabs.min.js构造的Tabs里的验证!网上一搜,也没查到是怎 ...
- 表单提交学习笔记(二)—使用jquery.validate.js进行表单验证
一.官网下载地址:http://plugins.jquery.com/validate/ 二.用法 1.在页面上进行引用 <script src="~/scripts/jquery-1 ...
- jQuery Validate插件实现表单强大的验证功能
转自:http://www.jb51.net/article/76595.htm jQuery Validate插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自 ...
- jquery.validate.js自定义表单验证
$(document).ready(function() { //在下列位置输入页面加载的逻辑代码 $("#inputForm").validate({ rules: { seq: ...
随机推荐
- go语言Mutex与RWMutex用法
Mutex(互斥锁) Lock()加锁,Unlock()解锁 适用于读写不确定,并且只有一个读或者写的场景 例: package main import ( "sync" &quo ...
- 在Eclipse上编写Go项目
Note for users in China Note: if you are behind the Great Firewall of China, you are very likely to ...
- 20155220 2016-2017-2 《java程序设计》第四周总结
教材学习内容总结 第六章 继承与多态 继承 继承的基本原则是: 子类继承父类的所有成员变量(包括静态成员): 子类继承除父类构造方法外的所有成员方法(包括静态方法): 子类不能继承父类的构造方法,但在 ...
- [2016北京集训测试赛5]小Q与内存-[线段树的神秘操作]
Description Solution 哇真的异常服气..线段树都可以搞合并和拆分的啊orzorz.神的世界我不懂 Code #include<iostream> #include< ...
- 3-3 修改haproxy配置文件
1.需求 2.个人思路 3.个人心得 4.
- day6 break continue for
.for .break (整个while循环全部结束) )打印1-100的偶数.py )打印1-100的20个偶数.py )while嵌套中的break (就近原则) .continue 错误用法: ...
- SRM 563 500pts SpellCards
SpellCards 题意: 有n张符卡排成一个队列,每张符卡有两个属性,等级li和伤害di. 两种操作: 1.把队首的符卡移动到队尾:2.使用队首的符卡,对敌人造成di点伤害,并丢弃队首的li张符卡 ...
- 【JUC源码解析】ConcurrentHashMap
简介 支持并发的哈希表.其中包括红黑树,扩容,分槽计数等知识点. 源码分析 常量 private static final int MAXIMUM_CAPACITY = 1 << 30; ...
- SQL Server临时表漫谈
SQL Server是微软的关系型数据库,对于刚入门的我是一个非常友好的开发工具.可视化界面的安装与操作,非常适合刚入门的我. 其实大家要找这方面的资料,在网上一搜一大堆,这里我就不赘述那些了,基本都 ...
- Laxcus大数据操作系统2.0(5)- 第二章 数据组织
第二章 数据组织 在数据的组织结构设计上,Laxcus严格遵循数据和数据描述分离的原则,这个理念与关系数据库完全一致.在此基础上,为了保证大规模数据存取和计算的需要,我们设计了大量新的数据处理技术.同 ...