自动验证


URL检查

array('img_url','url','预览图片格式错误',self::MUST_VALIDATE,'regex',self::MODEL_BOTH),
array('approval',array(0,1,2,3),'类型错误',self::MUST_VALIDATE,'in',self::MODEL_BOTH),

中文检查

array('username',"/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_]{2,20}$/u",'只能是中文字母数字和下划线',self::EXISTS_VALIDATE,'regex',self::MODEL_BOTH),

性别

array('sex',array(0,1),'性别格式错误',self::MUST_VALIDATE,'in',self::MODEL_BOTH),

文章长度

array('details','0,200','长度为0-200',self::VALUE_VALIDATE,'length',self::MODEL_BOTH),

密码一致性检查

array('repassword','password','确认密码不正确',0,'confirm'), // 验证确认密码是否和密码一致
array('password','checkPwd','密码格式不正确',0,'function'), // 自定义函数验证密码格式

唯一性检查

array('username','','此用户名已经存在',self::MUST_VALIDATE,'unique',self::MODEL_INSERT),

生日

array('birthday','validateDate','生日格式错误',self::EXISTS_VALIDATE,'callback',self::MODEL_BOTH),

回调传参:

array('字段','回调函数名称','提示文字',self::MUST_VALIDATE,'callback',self::MODEL_INSERT,array('参数1','参数2')),


/**
* 验证日期函数
* @param $date日期
* @param $format = 'Y-m-d H:i:s'
* @return boolean
*/
public function validateDate($date, $format = 'Y-m-d'){
        $d = \DateTime::createFromFormat($format, $date);
        return $d && $d->format($format) == $date;
}
//The DataTime class : http://php.net/manual/en/class.datetime.php


自动完成


时间自动完成:

array('atime',NOW_TIME,self::MODEL_BOTH),

自动完成回调函数:

protected $_auto = array(
	array('name',getTrimValue,self::MODEL_BOTH,'callback'),
);

/*
 * $value的值就是表单提交的该字段的值,在这里可以进行过滤等处理
*/
public function getTrimValue($value)
{
	return trim($value);
}