thinkphp 模型验证

Posted 它山之石可以攻玉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 模型验证相关的知识,希望对你有一定的参考价值。

<?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‘),
        );


}
?>

 

以上是关于thinkphp 模型验证的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPhp 3.2 自动验证

ThinkPHP框架表单验证

ThinkPHP框架表单验证

ThinkPHP中create()方法自动验证

Thinkphp表单自动验证

ThinkPHP_5模型修改器和自动完成