解析 thinkphp 框架中的部分方法
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>
相关文章
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31- 这篇文章主要介绍了thinkPHP中多维数组的遍历方法,以简单实例形式分析了thinkPHP中foreach语句的使用技巧,需要的朋友可以参考下...2016-01-12
- 下面小编就为大家带来一篇thinkphp自定义权限管理之名称判断方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-04-03
- 本文详细介绍了ThinkPHP使用方法,不懂的同学快来跟小编一起看看吧 1、下载ThinkPHP模板,整个导入到项目根目录下。2、修改index.php文件,内容如下:<?php/***临时配置,...2017-07-06
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
这篇文章主要介绍了thinkphp3.x连接mysql数据库的方法,详细分析了thinkPHP3.x操作数据库的具体步骤,包括惯例配置文件设置,sql语句创建表以及针对数据库的数据插入操作等,需要的朋友可以参考下...2016-05-20- 这篇文章主要介绍了ThinkPHP 3.2.2实现事务操作的方法,简单分析了thinkPHP中事务的启动、提交、回滚等操作方法并给出了完整的事务提交与回滚操作实例,需要的朋友可以参考下...2017-05-08
ThinkPhP+Apache+PHPstorm整合框架流程图解
这篇文章主要介绍了ThinkPhP+Apache+PHPstorm整合框架流程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-23- 下面小编就为大家带来一篇JavaScript数组方法总结分析。小编觉得挺不错的,现在分享给大家,也给大家做个参考...2016-05-09
- 这篇文章主要介绍了thinkPHP查询方式,结合实例形式总结分析了thinkPHP的普通查询、表达式查询、区间查询、统计查询及SQL直接查询的使用技巧,需要的朋友可以参考下...2016-01-12
- 这篇文章主要介绍了在使用递归的情况下thinkphp实现无限分类,感兴趣的小伙伴们可以参考一下...2015-12-21
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
这篇文章主要介绍了thinkPHP5.0框架整体架构,简单介绍了thinkPHP5.0的应用,模块,MVC,驱动,行为,命名空间等概念与基本用法,需要的朋友可以参考下...2017-04-03- 这篇文章主要介绍了thinkPHP商城公告功能开发问题,结合实例形式分析了基于thinkPHP实现商城公告功能所涉及的ajax交互及数据库操作相关技巧,需要的朋友可以参考下...2016-12-02
- 下面小编就为大家带来一篇Thinkphp事务操作实例(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-04-03
- 这篇文章主要介绍了Nginx配置支持ThinkPHP的PATH_INFO,本文在Ubuntu的开发环境加配置成功,需要的朋友可以参考下...2016-01-27
- 这篇文章主要介绍了ThinkPHP使用getlist方法实现数据搜索功能,结合实例形式较为详细的分析了thinkPHP基于getlist实现根据给定条件进行数据的读取、显示等相关操作技巧,需要的朋友可以参考下...2017-05-21
- 下面小编就为大家带来一篇数据结构中的各种排序方法小结(JS实现)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-07-29
Thinkphp自定义美化success和error提示跳转页面代码实例
这篇文章主要介绍了Thinkphp自定义美化success和error提示跳转页面代码实例,有需要的同学可以直接借鉴文中代码,可以增加页面的美观和友好程度...2021-03-05- 本文给大家汇总介绍了thinkphp中的单字母函数的使用方法,非常的简单,他们都在 THINKPHPCommonfunctions.php 这个文件中 下面我分别说明一下他们的使用方法...2016-05-10
- 下面小编就为大家带来一篇ThinkPHP Where 条件中常用表达式示例(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-04-03
- 本篇文章主要介绍了thinkphp下MySQL数据库读写分离代码剖析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 ...2017-04-26