gpt4 book ai didi

validation - cakePHP 文件上传的可选验证

转载 作者:行者123 更新时间:2023-12-04 02:09:06 27 4
gpt4 key购买 nike

如何通过验证使文件上传成为可选的?即使我没有选择任何文件,下面的代码也会验证。我只想在选择文件时检查扩展名。如果我没有选择任何文件,它不应该返回任何验证错误。

class Catalog extends AppModel{
var $name = 'Catalog';
var $validate = array(
'name' => array(
'rule' => '/^[a-z0-9 ]{0,}$/i',
'allowEmpty' => false,
'message' => 'Invalid Catalog name'
),
'imageupload' => array(
'rule' => array('extension',array('jpeg','jpg','png','gif')),
'required' => false,
'allowEmpty' => true,
'message' => 'Invalid file'
),
);
}

提前致谢

最佳答案

"I assign $this->data['Catalog']['image'] = $this->data['Catalog']['imageupload']['name'];"

因此,当您保存数据数组时,我假设它看起来像这样:

array(
'image' => 'foobar',
'imageupload' => array(
'name' => 'foobar',
'size' => 1234567,
'error' => 0,
...
)
)

这意味着,imageupload 验证规则正在尝试处理此数据:

array(
'name' => 'foobar',
'size' => 1234567,
'error' => 0,
...
)

即它试图验证的值是一个数组,而不仅仅是一个字符串。那不太可能通过指定的验证规则。它也可能永远不会“空”。

要么您创建一个可以处理此数组的自定义验证规则,要么您需要在尝试验证它之前在 Controller 中进行更多处理。

关于validation - cakePHP 文件上传的可选验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3146933/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com