zoukankan      html  css  js  c++  java
  • ThinkPHP框架表单验证

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

    静态验证:

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

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

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

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

    具体的验证条件可以再php手册中查询。

    namespace HomeModel;
    use ThinkController;
    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","邮箱格式输入不正确")              //验证格式是否正确
    
            ); 
    }    
                

    然后就可以在控制器中验证并调取错误信息

     1 namespace HomeController;
     2 use ThinkController;
     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 HomeModel	estModel(); //创建模型
    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 }

    动态验证:

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

    namespace HomeController;
    use ThinkController;
    class ZhuCeController extends Controller
    {
        function ZhuCe()
        {
            
            if(empty($_POST))
            {
                $this->display();
            }
            else
            {
                $model = new HomeModel	estModel();
                $rules = array(
                    array('uid','require','用户名不能为空'),
                )
                if(!$model->validate($rules)->create())
                {
                    echo $model->getError();
                }
            }
            
        }
    }
  • 相关阅读:
    Count and Say leetcode
    Find Minimum in Rotated Sorted Array II leetcode
    Find Minimum in Rotated Sorted Array leetcode
    Search in Rotated Sorted Array II leetcode
    search in rotated sorted array leetcode
    Substring with Concatenation of All Words
    Subsets 子集系列问题 leetcode
    Sudoku Solver Backtracking
    Valid Sudoku leetcode
    《如何求解问题》-现代启发式方法
  • 原文地址:https://www.cnblogs.com/zk0533/p/5661618.html
Copyright © 2011-2022 走看看