解析 thinkphp 框架中的部分方法

2018-09-07 19:07

阅读:331

  1 thinkphp 框架 中判断输入的数值和数据库中的数值是否一致

   首先 需要在view文件夹下建一个模板 名为zhuce.html

   <html> <head> <script src=__ROOT__/Public/js/jquery-1.11.2.min.js></script> </head> <body> <div> 账号:<input type=text name=num id=uid></div> <div id=ts></div> </body> </html>

  我在控制器TextController.class.php中写了一个方法zhuce(),显示模板

   function zhuce() { $this->show(); }

  这里需要用到ajax来写的,首选需要引入jquery包 已经在上面引入了

   <script type=text/javascript> $(#uid).blur(function(){ var num = $(this).val(); $.ajax({ url:__CONTROLLER__/chuli, data:{num:num}, type:POST, dataType:TEXT, success:function(data) { if(data.trim()==1) { $(#ts).html(此账号已经存在); } else { $(#ts).html(此账号可用); } } }) }) </script>

  上面涉及到一个chuli方法,那么这儿我们要开始写chuli方法了

   function chuli() { $n=D(login); $num=$_POST[num]; $aa=$n->where(num={$num})->count(); $this->ajaxReturn($aa,eval); }

  这样就可以来判断这个账号是不是可以使用了,但是我们会发现有一个小bug,就是如果是空的话,那么会显示此账号可以使用,为了避免出现这样的失误,我们可以在js中 判断一下是不是为空 if(num.trim()==){$(#ts).html(账号不可以为空)} else{执行ajax部分的内容就可以了}

  2 验证方法:

  首先是判断不为空的方法,这里可以直接用js来写是非常简单的,用的是nation表 我在view文件夹下写了一个jsdongtai.html的文件,

   <html> <head> <script src=__ROOT__/Public/js/jquery-1.11.2.min.js></script> </head> <body> <div> 代号:<input type=text id=code/> <span id=ts></span> </div> </body> </html>

  然后就是判断代号是否为空

   <script type=text/javascript> $(#code).blur(function(){ var code=$(this).val(); if(code.trim()==) { $(#ts).html(代号不能为空); } else { $(#ts).html(验证通过); } }) </script>

  然后用jsdongtai方法调一下就可以了 function jsdongtai(){$this->show();}

  如果我们用ajax来调的话可能比较麻烦,但是对于其他的验证来说要方便的多了,我们可以在方法里面添加多个验证

  比如我们用一个dongtai.html的模板 和jsdongtai.html的html部分是一样的,这样我们就只需要写ajax部分就可以了

   <script type=text/javascript> $(#code).blur(function(){ var code=$(this).val(); $.ajax({ url:__CONTROLLER__/yanzheng, data:{code:code},//第一个code必须是和表中的一致 type:POST, dataType:TEXT, success:function(data) { if(data.trim()==1) { $(#ts).html(验证通过), } else { $(#ts).html(此处不能为空), } } }) }) </script>

  下面是yanzheng方法

   function yanzheng() { $n=D(nation); $a=array( array(code,require,此处不能为空)) if($n->validate($a)->create()) { $this->ajaxReturn(1,eval); } else { $this->ajaxReturn($n->getError(),eval) } }

  在我们平时做验证的时候,很少会用ajax,相对来说比较麻烦,我们用简单的js就可以完成的,比如我做一个关于邮箱的验证,在jsdongtai.html中加入这一句

   <div><input type=text id=email/><span id=aa></span></div>

  然后我们开始做邮箱的验证了,我用的js都是引入的jquery包,前面已经引入过了,这里就不再详说了

   <script type=text/javascript> $(#email).blur(function(){ var email = $(this).val(); $zz=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/; if(email.match($zz)==null) { $(#aa).html(邮箱格式不正确); } else { $(#aa).html(邮箱验证成功); } }) </script>


评论


亲,登录后才可以留言!