ThinkPHP框架表单验证

ThinkPHP框架的表单验证分为静态验证和动态验证。php

静态验证:数组

首先在Model文件下创建一个表的模型,验证哪一个表就键哪一个表的模型。如验证users表,则创建textModel.class.php的文件。框架

定义一个textModel类,继承父类Modelui

在类里面添加二维数组,数组里存放验证条件。条件格式为:this

  1. array(
  2. array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),
  3. array(验证字段2,验证规则,错误提示,[验证条件,附加规则,验证时间]),
  4. ......
  5. );

具体的验证条件能够再php手册中查询。spa

namespace Home\Model;
use Think\Controller;
class textModel extends Model
{
        array(
            array("users","require","用户名不能为空"),              //验证用户名是否为空
            array("age","","用户名已存在",1,"unique"),              //验证是否存在
            array("pwd","pwd1","两次输入密码不一致",1,"confirm"),    //验证两次输入是否相等。
            array("age","18,15","年龄必须在18到50之间",1,"between"), //验证在某个范围以内。
            array("email","email","邮箱格式输入不正确")              //验证格式是否正确

        ); 
}    
            

而后就能够在控制器中验证并调取错误信息code

 1 namespace Home\Controller;
 2 use Think\Controller;
 3 class ZhuCeController extends Controller
 4 {
 5     function ZhuCe()
 6     {    
 7         if(empty($_POST))
 8         {
 9             $this->display();
10         }
11         else
12         {
13             $model = new \Home\Model\testModel(); //建立模型
14             if(!$model->create())  //判断是否成功建立表单
15             {
16                  //失败的输出错误信息
17                  $e = $model->getError();
18                 $this->error($e);
19             }
20             else
21             {
22                 $model->add();
23             }
24         }    
25     }
26 }

动态验证:blog

动态验证直接在控制器里建立一个二维数组,将验证条件放在里面,而后用model调用里面的validate方法,将条件做为一个参数放在里面进行验证。继承

namespace Home\Controller;
use Think\Controller;
class ZhuCeController extends Controller
{
    function ZhuCe()
    {
        
        if(empty($_POST))
        {
            $this->display();
        }
        else
        {
            $model = new \Home\Model\testModel();
            $rules = array(
                array('uid','require','用户名不能为空'),
            )
            if(!$model->validate($rules)->create())
            {
                echo $model->getError();
            }
        }
        
    }
}
相关文章
相关标签/搜索