前提:如果还不知道什么是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. netty系列之:NIO和netty详解

    目录 简介 NIO常用用法 NIO和EventLoopGroup NioEventLoopGroup SelectorProvider SelectStrategyFactory RejectedEx ...

  2. 2022年官网下安装MongoDB最全版与官网查阅方法(5.0.6)

    一.下载安装 1.百度搜索,找到官网,或直接访问:https://www.mongodb.com/ 2.寻找下载位置,双击下载. 3.找到本地位置,双击执行,进入欢迎界面,选择next. 4.勾选协议 ...

  3. 明火烟雾目标检测项目部署(YoloV5+Flask)

    明火烟雾目标检测项目部署 目录 明火烟雾目标检测项目部署 1. 拉取Docker PyToch镜像 2. 配置项目环境 2.1 更换软件源 2.2 下载vim 2.3 解决vim中文乱码问题 3. 运 ...

  4. mysql数据库-8.0安装及环境搭建

           1.MySQL8.0 For Windows zip包下载地址 https://dev.mysql.com/downloads/file/?id=476233,进入页面后点击底部&quo ...

  5. Linux 电子数据取证入门

    目录 Linux Basic Analysis 一.常见的Linux 发行版 二.Linux 系统的典型目录结构(Dir Structure) 三.Linux 系统重要文件夹与文件的内容 四.Linu ...

  6. [C++] C++socket套接字网络通讯实例

    //服务器端:#include "winsock2.h"  #include <string>#pragma comment(lib, "ws2_32.lib ...

  7. 搭建Loki、Promtail、Grafana轻量级日志系统(centos7)

    搭建Loki.Promtail.Grafana轻量级日志系统(centos7)--简称PLG 需求 公司项目采用微服务的架构,服务很多,每个服务都有自己的日志,分别存放在不同的服务器上.当查找日志时需 ...

  8. 论文翻译:2021_Acoustic Echo Cancellation with Cross-Domain Learning

    论文地址:https://graz.pure.elsevier.com/en/publications/acoustic-echo-cancellation-with-cross-domain-lea ...

  9. 你能用Java覆盖静态方法吗?如果我在子类中创建相同的方法是编译时错误?

    不,你不能在Java中覆盖静态方法,但在子类中声明一个完全相同的方法不是编译时错误,这称为隐藏在Java中的方法.你不能覆盖Java中的静态方法,因为方法覆盖基于运行时的动态绑定,静态方法在编译时使用 ...

  10. Java并发机制(4)--ThreadLocal线程本地变量(转)

    个人理解: 说明:看了博客园中大神写的ThreadLocal的详解,感觉还是有些迷糊,下面用自己的理解简单描述下ThreadLocal的机制(难免有误): 1.首先ThreadLocal用于存储对应线 ...