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();
                }
            }
            
        }
    }
  • 相关阅读:
    LSTM模型与前向反向传播算法
    循环神经网络(RNN)模型与前向反向传播算法
    卷积神经网络(CNN)反向传播算法
    卷积神经网络(CNN)前向传播算法
    卷积神经网络(CNN)模型结构
    深度神经网络(DNN)的正则化
    深度神经网络(DNN)损失函数和激活函数的选择
    ubuntu下如何编译openthread?
    linux下如何删除空行?
    vi下什么快捷键可以完成大小写转换?
  • 原文地址:https://www.cnblogs.com/zk0533/p/5661618.html
Copyright © 2011-2022 走看看