一、模块介绍
当我们在做项目的时候,会碰到表单验证,比如手机号验证、邮件验证等,这时候我们可以用jquery的ajax来进行远程无刷新验证。但是笔者在碰到jquery.validator.js这款插件的时候,它有一个 remote方法 ,可以帮我们来完成此项功能。一句话就可以搞定,感觉它好强大!
为什么呢?不知道的可以看这篇文章先了解一下 http://niceue.com/validator/demo/remote.php ,当然它介绍的很详细,但没有把PHP的实例贴出来。对于不懂的人,可以再回到我这篇文章来看……
在上边这段代码,我们加上一个remote[username.php]来进行远程验证,就这么简单!
因为它的强大,所以我就有心思写了这篇文章!
二、图片展示、演示及下载
三、插件作者下载地址
作者:Jony Zhang 是国人,不是外国人噢
官方网站: http://niceue.com/
四、使用方法
a. 使用规则:remote([get:]url [, name1, [name2]...]);
b. url前面的get:是可选的,加上此参数,将改变ajax方式为GET
c. 从第二个参数起,可选传入字段的name,用于附带额外请求参数
d. 智能适配服务器返回的3种数据格式,对于json格式(2和3)只需要包含所需数据就适配:
1. '' => 成功, '错误消息' => 失败
2. {"ok":""} => 成功,{"ok":"名字很棒!"} => 成功, {"error":"错误消息"} => 失败
3. {"data":{"ok":""}} => 成功,{"data":{"ok":"名字很棒!"}} => 成功, {"data":{"error":"错误消息"}} => 失败
五、最简使用教程
引用代码:引用jquery,插件js,css及js的中文说明
$(function(){
$('#demo_61').validator();
})
HTML代码: 直接在 data-rule 加上 remote[mysqli.php] 即可。required是指的必须输入,mobile指的是手机格式
SQL代码:建立一个数据库
CREATE DATABASE `ijqueryphp` ;
DROP TABLE IF EXISTS `php_users`;
CREATE TABLE `php_users` (
`user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`user_name` varchar(60) NOT NULL DEFAULT '',
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `php_users` VALUES (1,'15947270499');
INSERT INTO `php_users` VALUES (2,'18903467858');
PHP代码:mysqli.php
header('Content-type:text/html; charset=UTF-8');
//配置数据库参数
$db_host="localhost"; //连接的服务器地址
$db_user="users"; //连接数据库的用户名
$db_psw="users"; //连接数据库的密码
$db_name="ijqueryphp"; //连接的数据库名称
//初始化并连接数据库
$mysqli=new mysqli();
$mysqli->connect($db_host,$db_user,$db_psw,$db_name);
//传参并查询数据库
$username = trim($_POST['username']);
$sql="SELECT count(*) as num FROM `php_users` where user_name='$username'";
//根据数量及json来判断
$result = $mysqli ->query($sql);
$row = $result->fetch_array();
$num = $row['num'];
//数组使用
$arr = array('ok'=>'该手机号可以使用!');
if ($num>0)
{
$arr = array('error'=>'该手机号已经存在!');
}
echo json_encode($arr);
//关闭数据库
mysqli_free_result($result);
$mysqli->close();