一、模块介绍
当我们在做项目的时候,会碰到表单验证,比如手机号验证、邮件验证等,这时候我们可以用jquery的ajax来进行远程无刷新验证。但是笔者在碰到jquery.validator.js这款插件的时候,它有一个 remote方法 ,可以帮我们来完成此项功能。一句话就可以搞定,感觉它好强大!
为什么呢?不知道的可以看这篇文章先了解一下 http://niceue.com/validator/demo/remote.php ,当然它介绍的很详细,但没有把PHP的实例贴出来。对于不懂的人,可以再回到我这篇文章来看……
<input name="username" data-rule="required;username;remote[username.php]" placeholder="用户名">
在上边这段代码,我们加上一个 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的中文说明
<script type="text/javascript" src="validator/jquery-1.7.2.min.js"></script> <link rel="stylesheet" href="validator/jquery.validator.css"/> <script type="text/javascript" src="validator/jquery.validator.js"></script> <script type="text/javascript" src="validator/local/zh_CN.js"></script> <script type="text/javascript"> $(function(){ $('#demo_61').validator(); }) </script>
HTML代码: 直接在 data-rule 加上 remote[mysqli.php] 即可。required是指的必须输入,mobile指的是手机格式
<form id="demo_61" action="test.php" method="post" autocomplete="off"> <div style="height:80px;"><input name="mobile" value="" data-rule="required;mobile;remote[mysqli.php]" placeholder="请填写手机号码" /></div> <div style="height:80px;">测试数据:13453183584 数据库无此信息,18903467858 数据库有信息的</div> </form>
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
<?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();