它山之石可以攻玉

键盘上的生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

thinkphp 模型验证

Posted on 2017-06-21 18:48  陈达辉  阅读(816)  评论(0编辑  收藏  举报
<?php
class FormModel extends Model {
    // 自动验证设置
    /*
     * 一:自动验证
   自动验证的定义是这样的:array(field,rule,message,condition,type,when,params)
    field:代表是数据库的字段名;
   rule:代表是规则;
            它的值要看type的类型而定;
            如果是condition 是function(callback),rule是一个函数名
                     condition 是in,rule是一个数组
   message:代表是消息提示;
   condition:代表是验证条件
                      它的值:
                            self::MUST_VALIDATE 表示必须验证1
                            self::VALUE_VAILIDATE   表示不为空的时候验证2
                            self::EXISTS_VAILIDATE   表示表单存在的字段验证(默认)0
   type:代表验证类型
                      它的值:
                            function(callback) 表示验证的是调用一个Model中的函数
                            confirm 表示验证两个字段是否相同
                            in 是否在某个数组范围之内
                            equal 验证是否等于某个值
                            unique 验证某个值是否唯一
                            regex 使用正则表达式(默认)
   when:代表是是否需要执行验证
                  它的值:
                        self::INSERT_STATUS     add操作的时候验证
                        self::UPDATE_STATUS update操作的时候验证
                        self::ALL_STATUS       (不用说了吧)
   params:参数(具体什么我现在还不太清楚)
     * */
    protected $_validate     =     array(
        array('title','require','标题必须!',1),//必须验证
        array('email','email','邮箱格式错误!',2),//不为空时验证
        array('content','require','内容必须'),
        array('title','','标题已经存在',0,'unique',self::MODEL_INSERT),
        );

    // 自动填充设置
    //array(填充字段,填充内容,填充条件,附加规则)
    /* 填充条件包括:
    ADD 新增数据的时候处理(默认方式) self::MODEL_INSERT    add操作的时候填充
    Update 更新数据的时候处理   self::MODEL_UPDATE     udate操作的时候填充
    ALL 所有情况下都进行处理   self::MODEL_BOTH        (不用说了)
    附加规则包括:
    function 使用函数
    callback 回调方法
    field 用其它字段填充
    string 字符串(默认方式)
     */
    protected $_auto     =     array(
        array('status','1',self::MODEL_INSERT),
        array('create_time','time',self::MODEL_INSERT,'function'),
        );


}
?>