php运用validate+ajax检测用户名是否已存在
前提:如果还不知道什么是validate,请前往这里
一.remote
rules:
username:{
required:true,
minlength:8,
maxlength:8,
remote: {
url: 'validateUsername2.php',
type: 'POST',
dateType: 'json',
data: { username:function(){
return $('#username').val();
}
}
}
}
messages:
username:{
required:"账号不能为空",
minlength:"账号不得少于8位",
maxlength:"账号不能多于8位",
remote: "该账号已被注册"
}
ajax url处的php文件(使用remote需要在该文件输出true/false):
<?php
include 'conn.php';
$username=$_POST['username'];
$sql="SELECT * FROM user where uname = '".$username."'";
$isExist =$conn->query($sql);
if ($isExist->num_rows == 0){
echo 'true'; }
else{
echo 'false';
}
二.自定义
rules:
username:{
required:true,
minlength:8,
maxlength:8,
checkStudentid:true
}
messages:
username:{
required:"账号不能为空",
minlength:"账号不得少于8位",
maxlength:"账号不能多于8位",
checkStudentid: "该账号已被注册"
}
再加以下方法
//账号验证
$.validator.addMethod("checkStudentid",function () {
//定义一个标志
var flag=false;
$.ajax({
async:false,
url:"validateUsername.php",
data: { username: $("#username").val()},//data为该页面用户名id的值
type:"POST",
dataType:"json",
success:function (data) {
flag = (data == 1? false : true);
}
});
//如果false代表该效验不通过
return !flag;
} )
!!!!注意这个async写成false,这个是解决等待的问题,如果不处理成false,则会先return !flag 后执行ajax并对flag赋值,导致出错(被这个坑了很长时间)。
ajax url处的php文件(使用自定义方法该文件只需输出你所需要的结果,可以是false/true或者1/0或者其他,看你在ajax里面是怎么写的了):
<?php
include '../conn.php';
$username=$_POST['username'];
$sql="SELECT * FROM user where uname = '".$username."'";
$isExist =$conn->query($sql);//此处连接数据库
if ($isExist->num_rows == 0){
echo 1;
}
else{
echo 0;
}
个人感觉使用自定义比remote显示结果要快,所以建议自定义。
结果截图:
php运用validate+ajax检测用户名是否已存在的更多相关文章
- Django ajax 检测用户名是否已被注册
添加一个 register.html 页面 <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- ajax 检测用户名是否可用
下面是一个 ajax 检测用户名是否可用的例子. django 项目中. —— views.py 里—— from django.shortcuts import render,HttpRespon ...
- asp.net ajax 检测用户名是否可用代码
原文 asp.net ajax 检测用户名是否可用代码 .net ajax 检测用户名是否可用代码 <script type="text/网页特效" src="c ...
- Ajax检测用户名是否已经注册
程序功能 当用户名输入完成(即用户名输入框失去焦点),利用Ajax检测用户名是否已经注册! 实现过程 利用Ajax向CheckUserServlet发送请求,判断该用户名是否可用.这里只是为了演示Aj ...
- 提交ajax验证用户名是否已存在
前端页面 <tr> <td class="p_label"><span class="notnull"></span& ...
- EasyUI validatebox 自定义ajax验证用户名是否已存在
<td><input type="text" id="userName" name="userName" class=&q ...
- Struts2+Ajax实现检测用户名是否唯一
搞了慢慢两天,终于弄明白了怎么在Struts2框架中使用Ajax检测用户名的存在了.虽然,比起那些大牛们来,这速度确实够慢的,不过,最终弄出来还是满满的成就感啊. 闲话休提,言归正传.直接上代码: A ...
- 【05】AJAX实例-检测用户名是否存在(实例)
AJAX实例-检测用户名是否存在 用户注册时,需要填写个人信息,其中包括用户名.当用户输入完成时,JavaScript 需要及时检测用户名是否存在,如果存在给出提示,请用户更换用户名. 当然,这个 ...
- ssh整合问题总结--使用struts2+Ajax+jquery验证用户名是否已被注册
在用户模块中的用户注册需求上,通常要进行用户名是否已被注册的验证,今天正好写了这个需求,把详细代码和所遇到的问题贴过来.在使用struts2+ajax时候,通常我们会返回json类型的数据,但是像上面 ...
随机推荐
- cpolar——安全的内网穿透工具
什么是cpolar? cpolar是一种安全的内网穿透云服务,它将内网下的本地服务器通过安全隧道暴露至公网,使得公网用户可以正常访问内网服务. 它能用在哪些场景? 微信公众号开发,实时断点调试微信消息 ...
- MIPI CSI-2 像素打包格式解析
背景 MIPI CSI-2支持YUV.RGB和RAW data三种数据格式,这里是个笼统的叫法,具体又根据不同的像素打包方式细分为具体的格式,打包是什么概念?就是把Sensor采样得到的RGB三个通道 ...
- mysql 锁表
mysql 查看锁表解锁-- 查看那些表锁到了show OPEN TABLES where In_use > 0;-- 查看进程号show processlist;--删除进程 kill 108 ...
- web服务器-nginx配置文件
web服务器-nginx配置文件 一 nginx配置文件 #启动子进程程序的默认用户 #user nobody #一个主进程和多个工作进程.工作进程是单进程的,且不需要特殊授权即可运行:这里定义的是工 ...
- Redis数据结构详解(2)-redis中的字典dict
前提知识 字典,又被称为符号表(symbol table)或映射(map),其实简单地可以理解为键值对key-value. 比如Java的常见集合类HashMap,就是用来存储键值对的. 字典中的键( ...
- cornerstone 忽略不必要文件
转:https://www.jianshu.com/p/f48207baa0cd
- WeakHashMap 是怎么工作的?
WeakHashMap 的工作与正常的 HashMap 类似,但是使用弱引用作为 key,意思就是当 key 对象没有任何引用时,key/value 将会被回收.
- jQuery--事件绑定|委派|切换
一.事件的绑定 1.事件的绑定介绍 事件绑定: bind(type,fn) 给当前对象绑定一个事件.例如:A.bind("click",fn);类似A.click(fn) unbi ...
- Java 面试问题列表包含的主题?
多线程,并发及线程基础 数据类型转换的基本原则 垃圾回收(GC) Java 集合框架 数组 字符串 GOF 设计模式 SOLID 抽象类与接口 Java 基础,如 equals 和 hashcode ...
- 学习SVN02
代码发布方案: 1,安装,优化 软件环境,(nginx,lvs) <-------运维工程师 2,程序代码(不断更新). <--------开发工程师,(开发,运维都可以发布) 3, ...