【发布时间】:2012-10-09 20:55:54
【问题描述】:
我想使用 Uploader 行为中的自定义验证函数(宽度和高度)来创建一个新的自定义验证函数来测试图像是否为正方形。因此,当我在模型中使用行为时,这就是我使用文件验证功能的方式。我还在 SquareValidation 函数中概述了我想要在下面执行的操作。
public $actsAs = array(
'Uploader.FileValidation' => array(
'image' => array(
'extension' => array(
'value' => array('gif', 'jpg', 'jpeg', 'png'),
'error' => 'You can only upload images'
),
'mySquareValidation'
)
)
public function mySquareValidation () {
return width = height;
// WHAT IS THE RIGHT SYNTAX TO ACCESS WIDTH AND HEIGHT BEHAVIOUR FUNCTIONS?
}
但是我如何在自定义验证函数中访问这些核心(行为)验证函数并使用它们来检查提交的文件是否为正方形(我想允许任何高度/宽度组合)。我知道要调用核心验证函数(对 CakePHP),我会简单地使用:
Validation::rule($this->data['field'])
那么我该如何对属于行为的核心验证功能做同样的事情呢?当我创建了自定义验证函数后,我是否会像在验证数组中那样执行行为数组中的函数(就像在我的示例中一样)?
参考:上传者文档 - http://milesj.me/code/cakephp/uploader#validating-against-a-model
【问题讨论】: