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>

最新文章

  1. 2016最新cocoapods安装流程,安装过程中遇到的问题及解决方法
  2. MySQL日期数据类型、时间类型使用总结
  3. 利用dedecms autoindex让文章列表加上序列号
  4. TCP/IP 相关知识点与面试题集
  5. jQuery基础与实例
  6. Enterprise Architect使用教程
  7. HiveServer连接优化
  8. Android接收wifi路由器发送过来的一组字节数据
  9. sphinx分域搜索【不】需要在conf文件中使用sql_field_string
  10. (转)ORACLE中SID和SERVICE_NAME的区别
  11. 一次mysql主从加keepalived配置搭建及切换演示
  12. javaScript drag对象进行拖拽使用详解
  13. django drf 基础学习5
  14. 从零开始学安全(二十四)●用Nmap发现主机
  15. Run Redis
  16. ARM总线架构
  17. PyQt4 安装
  18. JS密码校验规则前台验证(不能连续字符(如123、abc)连续3位或3位以上)(不能相同字符(如111、aaa)连续3位或3位以上)
  19. 设置pdsh的默认登录模式
  20. 《时间序列分析——基于R》王燕,读书笔记

热门文章

  1. JsonCpp(C++程序使用)
  2. css 层叠式样式表
  3. 初识 Javascript.01 -- Javascript基础|输出方式、变量、变量命名规范、数据类型、
  4. Webstorm编译TypeScript报错
  5. iwebshop两表联查
  6. GitHub 添加 SSH keys
  7. 模拟jquery链式访问
  8. smartGWT DataSource数据动态加载
  9. 【Hexo】(一)使用HEXO配置环境,创建Hello World
  10. 老李分享:JDK,JRE,JVM区别与联系