1)jquery validate 远程验证remote,自定义验证 , 手机号验证 2)bootstrap validate 远程remote验证的方法.

   2023-02-07 学习力0
核心提示:  1-1: js 1 script src="YYFramework/Public/js/jquery-3.1.1.js"/script 2 script src="YYFramework/Public/js/jquery.validate.min.js"/script 3 script src="YYFramework/Public/js/jquery.form.js"/script 4 script type="text/java

 

 

1-1: js

 1 <script src="YYFramework/Public/js/jquery-3.1.1.js"></script>
 2 <script src="YYFramework/Public/js/jquery.validate.min.js"></script>
 3 <script src="YYFramework/Public/js/jquery.form.js"></script>
 4 <script type="text/javascript">
 5 
 6     // 手机号码验证
 7     $.validator.addMethod("isMobile", function(value, element) {
 8         var length = value.length;
 9         var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
10         return this.optional(element) || (length == 11 && mobile.test(value));
11     }, "请正确填写您的手机号码");
12 
13         //jquery.validate表单验证
14         $(document).ready(function(){
15             //登陆表单验证
16             $("#registerForm").validate({
17                 rules:{
18                     username:{
19                         required:true,//必填
20                         minlength:3, //最少6个字符
21                         maxlength:32,//最多20个字符
22                     },
23                     password:{
24                         required:true,
25                         minlength:3,
26                         maxlength:32,
27                     },
28                     confirm_password: {
29                            required: true,
30                            minlength: 3,
31                            maxlength:32,
32                            equalTo: "#password"
33                     },
34                     phone_number: {
35                         required: true,
36                         isMobile: true,
37                         remote:{
38                             url:"action.php?c=HLogin&a=phoneNumber",
39                             type:"post",
40                             data: {
41                                 phone_number: function(){return $("#number").val()}
42                             }
43                         }
44 
45                     }
46                 },
47                 //错误信息提示
48                 messages:{
49                     username:{
50                         required:"必须填写用户名",
51                         minlength:"用户名至少为3个字符",
52                         maxlength:"用户名至多为32个字符",
53 
54                     },
55                     password:{
56                         required:"必须填写密码",
57                         minlength:"密码至少为3个字符",
58                         maxlength:"密码至多为32个字符",
59                     },
60                     confirm_password: {
61                             required: "请输入密码",
62                             minlength:"密码至少为3个字符",
63                             maxlength:"密码至多为32个字符",
64                             equalTo: "两次密码输入不一致"
65                      },
66                      phone_number: {
67                          required:"必须填写手机号",
68                          isMobile: "手机号格式不正确",
69                          remote: "手机号码已经存在"
70                      }
71                 }, submitHandler:function(form){
72                     // form.submit();
73                     $(form).ajaxSubmit({
74                           dataType:"json",
75                           success:function( data ){
76                                   console.log('register', data);
77                               if( data == -1 ){
78                                   alert("注册失败");
79                               }else{
80                                   alert("注册成功");
81                                   setTimeout("window.location.href='homeLogin.php', 1000");
82                               }
83                             }
84                           });
85 
86                     return false;
87                 }
88 
89             });
90         });
91 
92         </script>
$(form).ajaxSubmit 用的是 jquery.form.js 的方法.



自定义手机号验证:
 6     // 手机号码验证
 7     $.validator.addMethod("isMobile", function(value, element) {
 8         var length = value.length;
 9         var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
10         return this.optional(element) || (length == 11 && mobile.test(value));
11     }, "请正确填写您的手机号码");



1-2: html:

 1 <div class="register-container">
 2     <h1>欢迎注册!</h1>
 3 
 4     <div class="connect">
 5         <p></p>
 6     </div>
 7 
 8     <form action="action.php?c=HLogin&a=register" method="post" >
 9         <div>
10             <input type="text" name="username" class="username" placeholder="您的用户名" autocomplete="off"/>
11         </div>
12         <div>
13             <input type="password" name="password" class="password"  />
14         </div>
15         <div>
16             <input type="password" name="confirm_password" class="confirm_password" placeholder="再次输入密码" oncontextmenu="return false" onpaste="return false" />
17         </div>
18         <div>
19             <input type="text" name="phone_number" class="phone_number" placeholder="输入手机号码" autocomplete="off" />
20         </div>
21         <!-- <div>
22             <input type="email" name="email" class="email" placeholder="输入邮箱地址" oncontextmenu="return false" onpaste="return false" />
23         </div> -->
24 
25         <button >注 册</button>
26     </form>
27     <a href="homeLogin.php">
28         <button type="button" class="register-tis">已经有账号?</button>
29     </a>
30 
31 </div>

 

1-3: 服务器端.

1-3-1: 注册:action="action.php?c=HLogin&a=register"

 1     public function registerAction()
 2     {
 3         $userName = $_REQUEST["username"];
 4         $loginName = $userName;
 5         $password = $_REQUEST["password"];
 6         $iphone = $_REQUEST["phone_number"];
 7 
 8         $UserModel = new UserModel();
 9         $UserModel->userName = $userName;
10         $UserModel->loginName = $loginName;
11         $UserModel->password = $password;
12         $UserModel->pic = '';
13         $UserModel->iphone = $iphone;
14         $UserModel->lastUpdateTime = time();
15         echo json_encode($UserModel->insert());
16     }

 

1-3-2: 远程验证 手机号是否重复.url:"action.php?c=HLogin&a=phoneNumber",

    /**
     * [phoneNumberAction 验证手机号码是否重复]
     * @return [type] [description]
     */
    public function phoneNumberAction()
    {
        $phone = $_REQUEST["phone_number"];

        $UserModel = new UserModel();
        $UserModel->getDataRow( " where iphone = $phone ");

        if ($UserModel->getDB) {
            echo json_encode(false);
        } else {
            echo json_encode(true);
        }


    }

 

注意 这里返回的是 :  json_encode(false) 表示有重复的号码;   必须是json_encode(true)  ,是json格式.

 

 

 

2)bootstrapvalidate 远程remote验证的方法

 

2-1:js

 1         //表单验证
 2         base.userForm = function(){
 3             //验证字段
 4             var fields = {
 5             'userName':{message :'姓名验证失败!',validators:{notEmpty:{message:'姓名不能为空'}}},
 6             'loginName':{
 7                 message :'登录名验证失败!',
 8                 validators:{
 9                     notEmpty:{
10                         message:'登录名不能为空'
11                     },
12                     remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true}
13                         url: 'action.php?c=HLogin&a=loginName2',//验证地址
14                         message: '登录名已存在',//提示消息
15                         delay :  1000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大)
16                         type: 'POST',
17                         data: function(validator) {
18                               return {
19                                   loginName: $('#loginName_0').val()
20                               };
21                            }
22 
23                     }
24                 }
25             },
26             'password':{
27                 message :'登陆密码验证失败!',
28                 validators:{
29                     notEmpty:{
30                         message:'登陆密码不能为空'
31                     },
32                     identical: {
33                         field: 'cpassword',
34                         message: '确认密码与密码不一致'
35                     }
36 
37 
38                 }
39             },
40             'cpassword':{
41                 message :'确认密码验证失败!',
42                 validators:{
43                     notEmpty:{
44                         message:'确认密码不能为空'
45                     },
46                     identical: {
47                         field: 'password',
48                         message: '确认密码与密码不一致'
49                     }
50 
51                 }
52             },
53             'iphone':{
54                 message :'手机号验证失败!',
55                 validators:{
56                     notEmpty:{
57                         message:'手机号不能为空'
58                     },
59                     remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true}
60                         url: 'action.php?c=HLogin&a=phoneNumber2',//验证地址
61                         message: '手机号已存在',//提示消息
62                         delay :  1000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大)
63                         type: 'POST',
64                         data: function(validator) {
65                               return {
66                                   phone_number: $('#iphone_0').val()
67                               };
68                            }
69 
70                     }
71                 }
72             }
73             };
74             //添加验证
75             base.validate("#userForm",fields);
76         }

 

2-2: 服务器端: url: 'action.php?c=HLogin&a=phoneNumber2',//  注意返回的数据的格式.

 1     public function phoneNumber2Action()
 2     {
 3         $phone = $_REQUEST["phone_number"];
 4 
 5         $UserModel = new UserModel();
 6         $UserModel->getDataRow( " where iphone = $phone ");
 7 
 8         if ($UserModel->getDB) {
 9             // $arr[""]
10             // echo json_encode(false);
11             echo '{"valid":false}';
12         } else {
13             // echo json_encode(true);
14             echo '{"valid":true}';
15         }
16 
17 
18     }

必须是这种格式: {"valid":false}

 

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Bootstrap基础:选择器
    1.CSS属性选择器[arrt=value]   该属性有指定的确切值[arrt~=value]  该属性值必须是多个空格隔开的值,比如,class=“title featured home”,而且这些值中的一个必须是指定的值“value”[arrt|=value]  属性的值就是“value”或者以“value”开始并立即
    03-16
  • bootstrap模态框手动开启关闭与设置点击外部不关闭
    bootstrap模态框手动开启关闭与设置点击外部不
    完整的参考菜鸟教程:http://www.runoob.com/bootstrap/bootstrap-modal-plugin.html1.手动开启与关闭模态框的方法  按钮开启与JS函数开启(2种)!DOCTYPE htmlhtmlheadmeta charset="utf-8"titleBootstrap 实例 - 模态框(Modal)插件/titlelink rel="styleshe
    03-16
  • Bootstrap.css 中请求googleapis.com/css?famil
    问题描述: Web中引入bootstrap.css中头部有访问Google服务器的请求 @import url("//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700");     国内访问不稳定,页面反应慢解决:将请求结果保存下来,放到本地,重新声明请求1.请求http:
    03-16
  • 基于.NET6、FreeSql、若依UI、LayUI、Bootstrap
    近几年,.net生态日益强大,特别是跨平台技术,性能提升,那真的是强大无比。为了日常能够快速开发,笔者基于基于.NET6、FreeSql、若依UI、LayUI、Bootstrap构建插件式的CMS,请大家多提意见建议。在此,要感谢若依CMS的作者,借用了皮肤框架。懒的发文字描述
    03-16
  • elasticsearch bootstrap.memory_lock
    检查bootstrap.memory_lock设置是否生效get http://10.127.0.1:9200/_nodes?filter_path=**.mlockall响应:{"nodes": {"9giihmDNRdS136KT52Gl5g": {"process": {"mlockall": true}},"X0zQESeeT8uJ9kVXvHpl-w": {"process":
    03-08
  • day 57 Bootstrap 第一天
    day 57 Bootstrap 第一天
    一 、bootstrap是什么 http://v3.bootcss.com/css/#grid-options(参考博客)是一个前端开发的框架.HTMLCSSJS下载地址:https://v3.bootcss.com/ (当前版本3.3.7)目录结构 bootstrap-3.3.7-dist/├── css// CSS文件│ ├── bootstrap-theme.css// Boo
    03-08
  • 基于bootstrap_网站汇总页面 bootstrap网站案例
    基于bootstrap_网站汇总页面 bootstrap网站案例
    !DOCTYPE htmlhtml lang="en"headmeta charset="UTF-8"title我的网页/titlelink rel="stylesheet" href="css/bootstrap.min.css"/headbody!--头部信息--nav class="navbar navbar-inverse navbar-fixed-top"div class="conta
    03-08
  • 50 个 Bootstrap 插件
    Bootstrap是快速开发Web应用程序的前端工具包。它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的版式,表单,buttons,表格,网格系统等等。本文向你推荐 50 个 Bootstrap 的插件,可以考虑在你下一个项目中使用它们。1. Boots
    03-08
  • Bootstrap资源 bootstrap官方文档
    官方网站:http://getbootstrap.com/http://twitter.github.com/bootstrap/index.html 官方博客:http://blog.getbootstrap.com/  中文文档:http://wrongwaycn.github.com/bootstrap/docs/index.html  图标:Font Awesomehttp://fortawesome.github.com
    03-08
  • bootstrap bootstrap检验
    bootstrap是简洁灵活的用于搭建web页面的Html,Css工具集。---是一组简洁强大的前端开发框架。 Bootstrap是Twitter推出的一个开源的用于前端开发的工具包。是一个CSS/HTML框架。bootstrap中的js框架依赖于jquery,因此jquery要在bootstrap之前引进一般要把CS
    03-08
点击排行