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