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: ...
随机推荐
- Hadoop安装配置
1.集群部署介绍 1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesy ...
- 20155302 2016-2017-2 《Java程序设计》第二周学习总结
学号 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 CH3中是讲Java中的基本语法知识,有些语法与C语言类似而有些则不太相同. C语言有着很多的基本类型如 ...
- 20155323 2016-2017-2 《Java程序设计》第2周学习总结
20155323 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 对象:对象是类的一个实例,有状态和行为. 类:类是一个模板,它描述一类对象的行为和状态. 第 ...
- 图解Oracle下建立tnsname
第一步:运行netca: 第二步: 第三步: 第四步: 第五步: 第六步: 如果前面设置都正确,测试的结果将正常(前提是Database的listener要开启).
- tkinter菜单图标,工具栏
所用的图片: import tkinter as tk from tkinter import messagebox, filedialog, simpledialog, colorchooser f ...
- 【洛谷】题解 P1056 【排座椅】
题目链接 因为题目说输入保证会交头接耳的同学前后相邻或者左右相邻,所以一对同学要分开有且只有一条唯一的通道才能把他们分开. 于是可以吧这条通道累加到一个数组里面.应为题目要求纵列的通道和横列的通道条数 ...
- Python函数标注
Python函数标注 是关于用户自定义函数中使用的类型的完全可选元数据信息. 函数标注 以Python字典的形式存放在函数的 __annotations__ 属性中,并且不会影响函数的任何其他部分. ...
- Spring Boot 整合JDBC 实现后端项目开发
一.前言 二.新建Spring Boot 项目 三.Spring Boot 整合JDBC 与MySQL 交互 3.1 新建数据表skr_user 3.2 Jdbcproject 项目结构如下 3.3 ...
- Java实现网上商城
// 第一个JavaWeb项目 //练手项目没有使用框架 github下载 https://github.com/dejavudwh/Online-Shopping 项目截图 1.基本实现了购物网站该 ...
- ExpressJS基础概念及简单Server架设
NodeJS Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.js 的包 ...