前提:如果还不知道什么是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检测用户名是否已存在的更多相关文章

  1. Django ajax 检测用户名是否已被注册

    添加一个 register.html 页面 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  2. ajax 检测用户名是否可用

    下面是一个 ajax 检测用户名是否可用的例子. django  项目中. —— views.py 里—— from django.shortcuts import render,HttpRespon ...

  3. asp.net ajax 检测用户名是否可用代码

    原文  asp.net ajax 检测用户名是否可用代码 .net ajax 检测用户名是否可用代码 <script type="text/网页特效" src="c ...

  4. Ajax检测用户名是否已经注册

    程序功能 当用户名输入完成(即用户名输入框失去焦点),利用Ajax检测用户名是否已经注册! 实现过程 利用Ajax向CheckUserServlet发送请求,判断该用户名是否可用.这里只是为了演示Aj ...

  5. 提交ajax验证用户名是否已存在

    前端页面 <tr> <td class="p_label"><span class="notnull"></span& ...

  6. EasyUI validatebox 自定义ajax验证用户名是否已存在

    <td><input type="text" id="userName" name="userName" class=&q ...

  7. Struts2+Ajax实现检测用户名是否唯一

    搞了慢慢两天,终于弄明白了怎么在Struts2框架中使用Ajax检测用户名的存在了.虽然,比起那些大牛们来,这速度确实够慢的,不过,最终弄出来还是满满的成就感啊. 闲话休提,言归正传.直接上代码: A ...

  8. 【05】AJAX实例-检测用户名是否存在(实例)

    AJAX实例-检测用户名是否存在   用户注册时,需要填写个人信息,其中包括用户名.当用户输入完成时,JavaScript 需要及时检测用户名是否存在,如果存在给出提示,请用户更换用户名. 当然,这个 ...

  9. ssh整合问题总结--使用struts2+Ajax+jquery验证用户名是否已被注册

    在用户模块中的用户注册需求上,通常要进行用户名是否已被注册的验证,今天正好写了这个需求,把详细代码和所遇到的问题贴过来.在使用struts2+ajax时候,通常我们会返回json类型的数据,但是像上面 ...

随机推荐

  1. appium1-macOS10.12下如何丝滑的使用appium?

    1.下载或者更新Homebrew:homebrew官网 macOS 不可或缺的套件管理器 $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githu ...

  2. SQL Server的Linked Servers

    文章搬运自:SQL Server的Linked Servers(链接) 参考引用一下,感谢作者~ 我们在使用SQL Server时,有时会有这种需求,需要从一个SQL Server服务器A中,查询另一 ...

  3. 矩池云 | 神经网络图像分割:气胸X光片识别案例

    在上一次肺炎X光片的预测中,我们通过神经网络来识别患者胸部的X光片,用于检测患者是否患有肺炎.这是一个典型的神经网络图像分类在医学领域中的运用. 另外,神经网络的图像分割在医学领域中也有着很重要的用作 ...

  4. CSAPP-Lab01 Data Lab 记录

    总览 Problem-int bitXor bitXor - x^y using only ~ and & Example: bitXor(4, 5) = 1 Legal ops: ~ &am ...

  5. 31 面向对象编程 接口 普通类:只有具体实现 声明类的关键字是class,声明接口关键字是interface 接口的作用

    接口 概念 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有! 接口:只有规范!自己无法写方法!专业的约束!约束和实现分离:面向接口编程~ 接口就是规范,定义的是一组规则,体现了现实世界中 ...

  6. Java的jmap命令使用详解

    jmap命令简介 jmap(Java Virtual Machine Memory Map)是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具.除此以外,jmap命令还可以查 ...

  7. python算法 前缀和

    这里有 n 个航班,它们分别从 1 到 n 进行编号.有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti, seatsi] 意味着在 ...

  8. kubernetes资源使用glusterfs卷进行数据持久化

    1.GlusterFS部署 安装GlusterFS集群的主要目的是为k8s集群提供分布式持久化存储. GlusterFS部署使用2台服务器,服务名称与IP如下: 1 db-storagea 10.1. ...

  9. 6月11日 python学习总结 框架理论

    Web框架本质及第一个Django实例   Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web ...

  10. 内网渗透----域环境搭建(server 2012)

    先确定两台服务器相通 1.配置静态IP与DNS 2.配置域服务 点击服务器管理器-添加角色和功能-下一步-添加AD域服务: 3.提升为域控制器 安装完成后,可在旗帜处选择提升为域控制器 添加新林 添加 ...