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框架中执行原生SQL语句的方法
这篇文章主要介绍了thinkPHP框架中执行原生SQL语句的方法,结合实例形式分析了thinkPHP中执行原生SQL语句的相关操作技巧,并简单分析了query与execute方法的使用区别,需要的朋友 ...
- 浅析Thinkphp框架中运用phprpc扩展模式
浅析Thinkphp框架中应用phprpc扩展模式 这次的项目舍弃了原来使用Axis2做web服务端的 方案,改用phprpc实现,其一是服务端的thinkphp已集成有该模式接口,其二是phprpc ...
- 制作类似ThinkPHP框架中的PATHINFO模式功能(二)
距离上一次发布的<制作类似ThinkPHP框架中的PATHINFO模式功能>(文章地址:http://www.cnblogs.com/phpstudy2015-6/p/6242700.ht ...
- dwr框架中DWRUtil的方法
dwr框架中DWRUtil的方法 2008-10-14 17:57:23| 分类: JAVA | 标签: |举报 |字号大中小 订阅 7. util.js 功能 util.js包含了一些工 ...
- Thinkphp框架中自定义修改success和error页面
Thinkphp框架中自定义修改success和error页面 Thinkphp框架的默认success和error太难看,可以自定义设置,步骤如下: (注意:TP原框架中的success跳转有问题, ...
- 制作类似ThinkPHP框架中的PATHINFO模式功能
一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...
- Laravel框架中的make方法详解
为什么网上已经有这么多的介绍Laravel的执行流程了,Laravel的容器详解了,Laravel的特性了,Laravel的启动过程了之类的文章,我还要来再分享呢? 因为,每个人的思维方式和方向是不一 ...
- PHP中常见魔术方法解析
<?php class info { private $province; //省 public $city; //城市 private $myname; //姓名 //__construct( ...
- thinkphp框架中session常识
在看别人代码时候,发现他,在tp框架中使用session没有些session_start();然后我去查看了手册初始化设置方法 无需手动调用,在App类的初始化工作结束后会自动调用,通常项目只需要配置 ...
随机推荐
- ng-clip angualr 的copy功能
每次写博客都想由衷的给我的老大膜拜一番!以前刚开始做angular的项目的时候就有说要有点击复制的功能因为当时菜啊,不懂啊.也就没做,今天老大又给了我一个资料!“ng-clip”.跟着老大最大的收获就 ...
- 一场完美的“秒杀”:API加速的业务逻辑
清晨,我被一个客户电话惊醒,客户异常焦急,寻问CDN能不能帮助他们解决“秒杀”的问题,他们昨天刚刚进行了“整点秒杀活动”,结果并发量过大,导致服务宕机,用户投诉. 为了理清思路,我问了对方三个问题: ...
- iOS开发之判断系统版本
if([[UIDevice currentDevice].systemVersion doubleValue]>=7.0) { //是IOS7至以上版本 }else{ //IOS7以下版本 }
- Sublime Text3 编辑器我的最爱
简介 Sublime Text 3是一个神奇的文本编辑器,适合程序员.作家.它有很多亮点功能,比如多选择.Go Anything.命令面板.多选择可以让你同时编辑多出代码,Got Anything 像 ...
- 在线阅读PDF文件js插件——pdf.js
最近接到一个需求大致是这样的,要求在移动端和pc端能够在线阅读pdf文件,类似百度文库的功能. 首先想到的就是插件,github(全球最大的男性交友网站- -恩)上一大堆啊,首先找到一个PDFobje ...
- 【C语言】两种方式实现冒泡排序算法
题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...
- [编织消息框架][JAVA核心技术]动态代理应用2
接下来如何实现 第一步:先把服务类,调用方法转换成数字,方便传输 第二步:提取元信息,提取又有三种方式,三种各有优点,最优方式是第一种 1.编译java时处理 2.程序启动时处理,预处理 3.调用时处 ...
- 高可用系列之Nginx
1.1Keepalived高可用软件 Keepalived起初是专为LVS设计的,专门用来监控LVS集群系统中各个服务节点的状态,后来又加入了VRRP的功能,因此除了配合LVS服务外,也可以作为其他服 ...
- vagrant up 失败解决办法
前几天在自己电脑搭建vagrant环境报错:"There was an error while executing `VBoxManage`, a CLI used by Vagrant f ...
- Spring框架下的单元测试
一.使用spring中对Junit框架的整合功能 除了junit4和spring的jar包,还需要spring-test.jar.引入如下依赖: <dependency> <grou ...