gpt4 book ai didi

cakephp 文件字段验证

转载 作者:行者123 更新时间:2023-12-02 22:02:55 26 4
gpt4 key购买 nike

我正在尝试在创建时验证具有有效扩展名的模型中的文件字段,并且在更新时尝试仅在字段不为空时验证文件。在创建时验证工作正常,但在更新时它验证 if 字段是否为空。我只想在字段不为空时验证扩展这是我在模型验证数组中的验证规则

'image' => array(
'rule1'=>array(
'rule' => array('extension',array('jpeg','jpg','png','gif')),
'required' => 'create',
'allowEmpty' => true,
'message' => 'Select Valid Image',
'on' => 'create',
'last'=>true
),
'rule2'=>array(
'rule' => array('extension',array('jpeg','jpg','png','gif')),
//'required' => 'create',
'allowEmpty' => true,
'message' => 'Select Valid Image',
'on' => 'update',
),
),

最佳答案

这是在创建时使用 required 验证图像字段的正确方法,并且可以在更新图像字段时允许为空

图像字段验证数组

'image' => array(
'rule1'=>array(
'rule' => array('extension',array('jpeg','jpg','png','gif')),
'required' => 'create',
'allowEmpty' => true,
'message' => 'Select Valid Image',
'on' => 'create',
'last'=>true
),
'rule2'=>array(
'rule' => array('extension',array('jpeg','jpg','png','gif')),
'message' => 'Select Valid Image',
'on' => 'update',
),
),

并在更新操作的验证前取消设置图像字段

function beforeValidate($options = array()){
if(empty($this->data[$this->alias]['id']))
{
return true;
}
else
{
if(empty($this->data[$this->alias]["image"]["name"])){
unset($this->data[$this->alias]["image"]);
}
return true; //this is required, otherwise validation will always fail
}
}

关于cakephp 文件字段验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16583358/

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