<div class="cnblogscode">
@H301_0@<?<span style="color: #000000;">PHP
<span style="color: #0000ff;">class FormModel <span style="color: #0000ff;">extends<span style="color: #000000;"> Model {
<span style="color: #008000;">//<span style="color: #008000;"> 自动验证设置
<span style="color: #008000;">/*<span style="color: #008000;">
- 一:自动验证
自动验证的定义是这样的: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:参数(具体什么我现在还不太清楚) - <span style="color: #008000;">*/
<span style="color: #0000ff;">protected <span style="color: #800080;">$_validate = <span style="color: #0000ff;">array<span style="color: #000000;">(
<span style="color: #0000ff;">array('title','require','标题必须!',1),<span style="color: #008000;">//<span style="color: #008000;">必须验证
<span style="color: #0000ff;">array('email','email','邮箱格式错误!',2),<span style="color: #008000;">//<span style="color: #008000;">不为空时验证
<span style="color: #0000ff;">array('content','内容必须'),<span style="color: #0000ff;">array('title','','标题已经存在','unique',self::MODEL_INSERT),<span style="color: #000000;">
);
</span><span style="color: #008000;">//</span><span style="color: #008000;"> <a href="/tag/zidong/" target="_blank" class="keywords">自动</a>填充设置
//array(填充字段,填充<a href="/tag/neirong/" target="_blank" class="keywords">内容</a>,填充条件,附加规则)</span>
<span style="color: #008000;">/*</span><span style="color: #008000;"> 填充条件<a href="/tag/baokuo/" target="_blank" class="keywords">包括</a>:
ADD 新增数据的时候处理(默认方式) self::MODEL_INSERT add操作的时候填充
Update 更新数据的时候处理 self::MODEL_UPDATE udate操作的时候填充
ALL 所有情况下都进行处理 self::MODEL_BOTH (不用说了)
附加规则<a href="/tag/baokuo/" target="_blank" class="keywords">包括</a>:
function 使用<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>
callback 回调<a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>
field 用其它字段填充
string 字符串(默认方式)
</span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">protected</span> <span style="color: #800080;">$_auto</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(
</span><span style="color: #0000ff;">array</span>('status','1',<span style="color: #0000ff;">array</span>('create_time','time',self::MODEL_INSERT,'function'),<span style="color: #000000;">
);
}
?>