ThinkPHP表单验证

表单验证

静态方式

首先需要建一个相应表的数据模型 如infomodel.class .php  在模型中 建成员变量  再建数组 在数组中添加验证规则  需要通过$_validate属性定义验证规则

格式为  array(

array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),

array(验证字段2,验证规则,错误提示,[验证条件,附加规则,验证时间]),

......);

<?php
namespace Home\Model;
use Think\Model;
class InfoModel extends Model
{
    protected $_validate=array(
        //array("Code","require","代号不能为空",0,"regex",3),
        //array("Name","","姓名不能重复",0,"unique",3),
        //array("QueRen","Sex","两次输入内容不一致",0,"confirm",3),
        //array("QueRen","123","输入内容不正确",0,"equal",3),
        //array("QueRen","18,50","输入年龄要在18-50之间",0,"between",3),
        //array("QueRen","email","邮箱格式不正确",0,"regex",3),
    );
}

  

自动收集表单
if (!$m->create())
{
echo $m->getError();
}
else
{
echo "验证通过";
/* $bs = $m->add();
if ($bs)
{
$this->success("添加成功", "Test");
}
else
{
$this->error("添加失败");
}*/
}

  

动态方式

使用模型类的validate方法动态创建自动验证规则。

自动在收集表单的时候验证   字符串会被当做0

//动态验证
            $rules=array(
                array("Code","require","代号不能为空",0,"regex",3),
            );
            if (!$m->validate($rules)->create())
            {
                echo $m->getError();
            }
            else
            {
                echo "验证通过";
               /* $bs = $m->add();
                if ($bs)
                {
                    $this->success("添加成功", "Test");
                }
                else
                {
                    $this->error("添加失败");
                }*/
            }

  利用ajax实时验证

需注意三点  jQuery引入    URL      返回

1.jQuery引入

<load href="__PUBLIC__/JS/jquery-1.11.2.min.js" />
<js href="/Public/Js/Common.js" />
<css href="/Public/Css/common.css" />
2.URL书写
__CONTROLLER__/ChuLi  后边为方法名

3.ajax的返回    $this->ajaxReturn($name,"eval");  有xml json eval(字符串)  默认为json

ajax根据输入代号查看姓名

<input id="code" type="text" name="code">
<input id="btn" type="button" value="查看姓名">
</body>
<script type="text/javascript">
    $(document).ready(function (e) {
        $("#btn").click(function () {
            var code=$("#code").val();
            $.ajax({
                url:"__CONTROLLER__/ChuLi",
                data:{code:code},
                type:"POSt",
                dataType:"TEXT",
                success:function (data) {
                    alert(data);
                }
            });
        })
    })
</script>

  

function ChuLi()
    {
        $code=$_POST["code"];
        $m=D("info");
        $attr=$m->find($code);
        $name=$attr["name"];
        $this->ajaxReturn($name,"eval");
    }

  ajax实现实时判断

<div>
        代号:<input id="dh" type="text" name="Code" />
        <span id="dhyz"></span>
 </div>
<script type="text/javascript">
    $(document).ready(function (e) {
    $("#dh").blur(function () {
            var code=$(this).val();
            $.ajax({
                url:"__CONTROLLER__/YanZheng",
                data:{Code:code},//注意此时额提交根post提交一样 需注意是否与列名一样
                type:"POSt",
                dataType:"TEXT",
                success:function (data) {
                    if(data.trim()=="OK")
                    {
                        $("#dhyz").html("验证通过");
                        $("#dhyz").css("color","green");
                    }
                    else
                    {
                        $("#dhyz").html(data);
                        $("#dhyz").css("color","red");
                    }
                }
            });
        })
    })
</script>

  

function YanZheng()
    {
        $m=D("info");
        $str="";
        $rules=array(
            array("Code","require","代号不能为空",0,"regex",3),
        );
        if (!$m->validate($rules)->create())
        {
            $str=$m->getError();
        }
        else
        {
            $str="OK";
        }
        $this->ajaxReturn($str,"eval");
    }

  

时间: 2024-10-07 11:42:02

ThinkPHP表单验证的相关文章

ThinkPHP框架表单验证

对注册到test表的表单进行验证 在注册之前要对表单进行验证: 用户名非空验证,两次输入密码必须一致即相等验证,年龄在18~50之间即范围验证,邮箱格式正则验证. 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 数据验证可以进行数据类型.业务规则.安全判断等方面的验证操作. 数据验证有两种方式: 静态方式:在模型类里面通过$_validate属性定义验证规则. 动态方式:使用模型类的validate方法动态创建自动验证规则. 无

ThinkPhp框架:父类及表单验证

这个知识点,就可以通过"登录"和"注册"的页面来学习这个知识点了首先先做一个"登录"功能一.登录功能(父类)(1)登录的控制器在我的控制器文件夹中新建一个登陆控制器我的路径是这样的: 然后里面要书写正确才可以,其中要有命名空间,还有继承父类的控制器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <?php namespace Home\Controller; use Think\Controlle

tp框架表单验证

之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证.验证的代码要写在模型层即Model里面. 数据验证有两种方式: 静态方式:在模型类里面通过$_validate属性定义验证规则.静态方式定义好以后其它地方都可以使用. 动态方式:使用模型类的validate方法动态创建自动验证规

tp框架表单验证 及ajax

之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证.验证的代码要写在模型层即Model里面. 数据验证有两种方式: 静态方式:在模型类里面通过$_validate属性定义验证规则.静态方式定义好以后其它地方都可以使用. 动态方式:使用模型类的validate方法动态创建自动验证规

6月17 表单验证

在服务器端通过tp框架实现表单验证 用户名.密码.重复密码.邮箱.qq.手机号码.爱好.学历 具体步骤: 制作表单 表单form数据通过create()方法收集(验证功能要求我们必须通过create()方法收集数据) 自定义数据model模型类实现具体验证规则 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 数据验证可以进行数据类型.业务规则.安全判断等方面的验证操作. 数据验证有两种方式: 静态方式:在模型类里面通过$_val

Laravel在进行表单验证时,错误信息未返回

马上要毕业了,找了现在的这家公司,压力不大,自己也比较喜欢,唯一的遗憾就是手机号莫得换了(找不到换的借口). 进入正题: 之前自己的博客(http://lxiaoke.cn)是用ThinkPHP开发的,公司用的是Laravel,在进行表单验证时,遇到了一个比较简单却又让我头疼了好几天的问题,那就是验证不通过时的错误信息一直获取不到.百度上说什么的都有,最后用下面的方法解决了. 解决办法: 将middlewareGroup中的\Illuminate\Session\Middleware\Start

python :表单验证--对每一个输入框进行验证

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="UTF-8"/> <title>Title</title> <style> .error{ color

jquery插件,表单验证validation plugin的使用

笔记: 一.首先引入插件 <script type="text/javascript" src="js/jquery-1.10.0.js" ></script> <script type="text/javascript" src="js/jquery.validate-1.13.1.js" ></script> 列子:一个简单的登录表单验证 1 <form id=&quo

AngularJs 表单验证

看到一些博客说这个框架要过时了,但是还是学习了下,觉的很方便的一个框架,有空的同学可以看看,适合我们入门看,比较基础. 对于日常的开发来说,最常见的开发场景就是通过表单编辑数据,这里涉及的问题就是验证问题. angularjs 内置已经支持了常见的验证方式,可以轻松实现表单验证. 1. 绑定 为了方便,我们在 $scope 上下文对象上创建一个 model 来表示我们编辑的内容. $scope.model = { id : 8, name: "alice", email: "