jquery.vilidate的运用
vilidate是jquery的一个form表单验证插件非常实用
里面需要注意的就是remote的用法
/*验证*/
$().ready(function() {
$(".form_all").validate({
/*经验证,都未出错则执行*/
submitHandler: function(form) {
},
/*提示信息位置为下面的空div*/
errorPlacement: function(error, element) { //错误信息位置设置方法
error.appendTo( element.parent().next() ); //这里的element是录入数据的对象
},
onkeyup: false,
/*验证规则*/
rules:{
/*验证码*/
validata_number:{
required:true,
number:true,
rangelength:[6,6],
remote : {
url :'?c=register&m=verification_judge',
type:'post',
data:{
send_code : function(){
return $("#validata_number").val();
},
send_code_name : function(){
return $('form').find('.input_name').val();
},
}
}
},
/*账户邮箱手机号*/
// uername:{
// required:true,
// uername:true
// },
/*玩家账号*/
Player_account:{
required:true,
remote:{
url :'?c=register&m=name_judge',
type:'post',
data:{
name : function(){
return $("#Player_account").val();
},
player_account:function(){
return $("#Player_account").attr('name');
}
}
}
},
/* /!*真实姓名*!/
real_name:{
required:true
},
/!*身份证号码*!/
ID_number:{
IDnumber:true
},*/
/*手机号码*/
phone_number:{
required:true,
number:true,
rangelength:[11,11],
phonenumber:true,
remote: {
url :'?c=register&m=name_judge',
type:'post',
data:{
name : function(){
return $("#phone_number").val();
}
}
}
},
/*旧密码*/
old_password:{
required:true,
rangelength:[6,15],
remote:{
url:'?c=register&m=name_judge',
type:'post',
data:{
name:function(){
return $("#uername_email_phone").val();
},
old_password:function(){
return $("#old_password").val();
}
}
}
},
/*密码*/
password:{
required:true,
rangelength:[6,15]
},
/*确认密码*/
Confirm_password:{
required:true,
rangelength:[6,15],
equalTo: ".password"
},
/*邮箱*/
email: {
required: true,
email: true,
remote:{
url:'?c=register&m=name_judge',
type:'post',
data:{
name:function(){
return $("#email").val();
}
}
}
},
/*找回密码 邮箱*/
email_back: {
required: true,
email:true,
remote:{
url:'?c=register&m=name_judge',
type:'post',
data:{
name:function(){
return $("#email_back").val();
}
}
}
},
/*找回密码 手机*/
phone_back:{
required:true,
number:true,
rangelength:[11,11],
phonenumber:true,
remote:{
url:'?c=register&m=name_judge',
type:'post',
data:{
name:function(){
return $("#phone_back").val();
}
}
}
},
/*修改密码*/
uername_email_phone:{
required:true,
remote:{
url:'?c=register&m=name_judge',
type:'post',
data:{
name:function(){
return $("#uername_email_phone").val();
}
}
}
}
},
/*验证失败提示*/
messages:{
validata_number:{
required:"请输入右侧验证码",
number:"请输入数字",
rangelength:"请输入六位验证码",
remote:"验证码错误"
},
uername:{
required:"请输入用户名",
uername:"该用户不存在,请重新输入"
},
/*real_name:{
required:"请输入您的真实姓名"
},*/
Player_account:{
required:"请输入您的账号",
remote:"账号输入不对,请重新输入"
},
/* ID_number:{
IDnumber:"请输入正确的身份证号码"
},*/
phone_number:{
required:"请输入手机号码",
number:"请输入正确的手机号码",
rangelength:"请输入十一位手机号码",
phonenumber:"请输入正确的手机号码",
remote:"此号码已被注册"
},
old_password:{
required: "请输入密码",
minlength: "密码长度在6到15之间"
},
password:{
required: "请输入密码",
minlength: "密码长度在6到15之间"
},
Confirm_password:{
required: "请输入密码",
minlength: "密码长度在6到15之间",
equalTo: "两次密码输入不一致"
},
email:{
required: "请输入邮箱",
email:"请输入一个正确的邮箱",
remote:"此邮箱已经被注册"
},
email_back:{
required: "请输入邮箱账号",
email:"请输入一个正确的邮箱",
remote:"用户名错误,请重新输入"
},
phone_back:{
required:"请输入手机号码",
number:"请输入正确的手机号码",
rangelength:"请输入十一位手机号码",
phonenumber:"请输入正确的手机号码",
remote:"用户名错误,请重新输入"
},
uername_email_phone:{
required:"请输入正确的用户名/邮箱/手机号码",
remote:"输入账号不存在,请重新输入"
},
old_password:{
required: "请输入密码",
minlength: "密码长度在6到15之间",
remote:"密码输入错误,请重新输入"
}
},
});
1.需注意用remote的一个容易发生错误的地方 在发送ajax的时候格式为json jquery remote认证的是字符串 需要触发的时候返回echo "false";return false; 无需触发 返回echo "true";return false;
2.使用了remote之后 submitHandler: function(form) { } 与 remote会相触 解决方法
function doSubmit()
{
var result =$("form").valid(); //判断input是否符合要求
if(result == true){
return true;
}else{
return false;
}
}
$('#submit').click(function(){
var url = $('form').attr('action');
if(doSubmit()){
var data= $('form :input').serialize();
$.ajax({
url:url,
type:'post',
data:data,
dataType:'json',
success:function(data) {
if (data)
{
alert('成功');
} else
{
alert('失败');
}
}
});
}
});
在工作中遇到的一些情况,如果有更好的麻烦也告诉我!
jquery.vilidate的运用的更多相关文章
- Angular杂谈系列1-如何在Angular2中使用jQuery及其插件
jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...
- jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧
这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...
- Jquery的点击事件,三句代码完成全选事件
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- jQuery实践-网页版2048小游戏
▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
- jQuery之ajax实现篇
jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...
- 利用snowfall.jquery.js实现爱心满屏飞
小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...
- jQuery的61种选择器
The Write Less , Do More ! jQuery选择器 1. #id : 根据给定的ID匹配一个元素 <p id="myId">这是第一个p标签< ...
- jquery.uploadify文件上传组件
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
随机推荐
- iOS 之 Swift 新特性
支持所有C和OC的基本类型 提供了Array 和Dictionary两个强劲的集合类型 元组 可选类型 闭包 脚本特性 类型安全
- thinkPHP 模板中的语法
一.导入CSS和JS文件 1.css link js scr <link rel='stylesheet' type='text/css' href='__PUB ...
- thinkPHP 视图
一.模板的使用 a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tp ...
- win10新特性,ubuntu子系统(安装及配置)
最新版win10下可以直接跑ubuntu镜像,直接入正题. 这里如果你没有可能是你的版本不是最新的,我这里是最新的win10直接是有这个功能的.勾选后会要求重启,确定即可. 然后win键弹出搜索,输入 ...
- Java 验证用户名、密码
1. 数据库操作 2.验证用户 2.1. 查询 String sql = String.format("select count(*) from user where name='%s' a ...
- opp(Object Oriented Programming)
嗯,昨天忙了一天没来及发,过年啊,打扫啊,什么搽窗户啊,拖地啊,整理柜子啊,什么乱七八糟的都有,就是一个字,忙. 好了,废话也不多说,把自己学到的放上来吧.嗯,说什么好呢,就说原型链啊 原型对象 每个 ...
- 深入了解GCD
首先提出一些问题: dispatch_async 函数如何实现,分发到主队列和全局队列有什么区别,一定会新建线程执行任务么? dispatch_sync 函数如何实现,为什么说 GCD 死锁是队列导致 ...
- 蓝桥网试题 java 基础练习 十进制转十六进制
---------------------------------------------------------------------------------------------------- ...
- c#类,接口,结构,抽象类介绍 以及抽象和接口的比较
c#中的类是最常见的实际上就是对某种类型的对象定义变量和方法的原型. 结构是值类型,而类是引用类型. 1.与类不同,结构的实例化可以不使用 new 运算符.结构可以声明构造函数,但它们必须带参数. 2 ...
- python之字符串详解2
逻辑判断字符串类型,返回布尔值 1. islower 描述:判断所有字符是否为小写 语法: def islower(self): # real signature unknown; restored ...