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: ...
随机推荐
- 使用JSTL的taglib做if判断
背景:使用springmvc做RESTful风格的CRUD时 问题:使用JSTL的taglib做if判断,未能呈现判断后想要的内容 排查过程: 1.先确定了转发到了正确的jsp文件(在jsp页面中增加 ...
- style.attr,currentStyle,getComputedStyle获取元素css
老朋友object.style.attr 平常我们都是使用object.style.attr的方式来获取元素的属性, 但是这种方法具有很大的局限性——只能获取内联样式, 而下面的两种方法可以获取到元素 ...
- Linux入门进阶第四天(下)——程序管理(补充内容)
1.PID 触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的使用者与相关属性关系,给予这个 PID 一组有效的权限设置. 同一个程序 ...
- 20155220 实验一《Java开发环境的熟悉》实验报告
实验一Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验知识点 1.JVM.JRE.JDK的安装位置与区 ...
- 20155321 2016-2017-2 《Java程序设计》第九周学习总结
20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ...
- 一个命令安装lnmp
安装LNMP执行:wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar. ...
- aspnetcore 2.1 发布到树莓派3linux的艰辛路程
发布至docker for windows. 提示: image operating system "windows" cannot be used on this platfor ...
- sqlserver 导出数据到Excel
1.导出非正式Excel EXEC master..xp_cmdshell 'bcp t.dbo.tcad out D:\MySelf\output\Temp.xls -c -q -S".& ...
- asp.net core 2.2 根据PC端和移动端自动显示不同视图而不改变url地址
1.添加HttpRequest扩展方法 public static class RequestExtensions { //regex from http://detectmobilebrowsers ...
- VIN码识别/车架号识别独家支持云识别
VIN码(车架号)对于懂车的人来说并不陌生,不要小看这一串字符,从VIN码中可以读懂车辆的生产厂家.年代.车型.车身型式及代码.发动机代码及组装地点等信息. 一辆汽车的VIN码也是车辆的唯一身份证明, ...