Validation Cakephp:如何验证数组
当用户上传他们的缩略图时,我需要验证用户缩略图的大小和类型。但我不知道如何验证数组数据。所以请帮帮我 p/s:我使用CakePHP2.x 我的数据:Validation Cakephp:如何验证数组,validation,cakephp,Validation,Cakephp,当用户上传他们的缩略图时,我需要验证用户缩略图的大小和类型。但我不知道如何验证数组数据。所以请帮帮我 p/s:我使用CakePHP2.x 我的数据: Array ( [User] => Array ( [id] => 45 [username] => pa7264 [password] => admin [new_password] =>
Array
(
[User] => Array
(
[id] => 45
[username] => pa7264
[password] => admin
[new_password] =>
[thumbnail] => Array
(
[name] => demo.jpg
[type] => image/jpeg
[tmp_name] => D:\OpenServer\userdata\temp\phpD2FD.tmp
[error] => 0
[size] => 13582
)
)
)
您需要一个与getimagesize()函数成对的自定义验证 这是给你的速写稿:
//in User.php model
public $validate = array(
'thumbnail' => array(
'imageSize' => array(
'rule' => array('check_image_size'),
'message' => 'Thumbnail size is too big!'
)
)
);
// this is custom validaion function
public function check_image_size($data)
{
$imagesize = getimagesize($data['thumbnail']['tmp_name']);
if (($imagesize[0] > 600) || ($imagesize[1] > 400)){
//here we taking request data to erase image to avoid problems in view
$request = Router::getRequest();
unset($request->data['User']['thumbnail']);
return false; //validaion failed
}
return true; //validaion passed
}
这里,$imagesize[0]是图像的宽度,$imagesize[1]是图像的高度感谢克里夫克丘普,我非常爱你