PHP + jquery.validate remote的用法
[ 转 ] http://www.cnlvzi.com/index.php/Index/article/id/58
最近做验证功能时,用到jquery.validate.js中的remote远程验证方式。
网上查了一下,关于这个remote的资料少之好少,看了一个API介绍,介绍也相当少。
无奈下,只能看了下,jquery.validate.js源码,最终是搞明白了。
以下写下来,方便以后的人,使用。
注意如下内容:
1,远程返回数据时,一定要返回"true"或者"false",否则就是永远就是验证不通过。
2,remote有两种方式,如下就介绍remote与PHP间的验证
(1)meta String方式(当然这种方式要引入jquery.metadata.js)
以下是我的HTML代码
1 2 3 | < input type="text" name="moblie" id="jform_moblie" value="" class="input {validate:{required:true,telphoneValid: true,remote:'moblie_register.php?fun=moblie', messages:{required:'请填写手机号码!', telphoneValid:'请输入正确的手机号',remote:'该手机号码已被注册! <a href=login.php target=_blank>登录?</ a >'}}}" /> |
直接remote提交到PHP页面中去。默认提交类型是GET方式提交
PHP代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | if ( $_GET [ 'fun' ]== 'moblie' ) { //检查手机是否已注册 $moblie_number =trim( $_GET [ 'moblie' ]); $exists_moblie = $db ->query_first("select acc_moblie_number from t_account where acc_moblie_number= '".$moblie_number."' "); if ( empty ( $exists_moblie [ 'acc_moblie_number' ])) { $return [ 'type' ]= 'true' ; $return [ 'info' ]= '此手机号码可注册!' ; } else { $return [ 'type' ]= 'false' ; $return [ 'info' ]= '该手机号码已被注册!' ; } exit ( $return [ 'type' ]); } |
这样就完成的验证
(2)rules方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | $( "#Form2" ).validate({ rules: { //定义验证规则,其中属性名为表单的name属性 "mail_account" : { required: true , email: true , remote: { url: '<--?php echo $this--->base;?-->/maileckmail' , type: 'POST' , dateType: 'json' , data: { mail_account: function (){ return $( '#mail_account' ).val(); } } } }, }, messages: { "mail_account" : { email: "请输入正确的邮箱地址(例如 myemail@qq.com)" , remote: "该邮箱已存在!" }, } }); |
PHP代码:
1 2 3 4 5 6 7 8 | function checkMail(){ $mail_account = $_POST [ 'mail_account' ]; if ( $this ->Mail->findByMailAccount( $mail_account )) echo 'false' ; else echo 'true' ; die (); } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」