简单的问题,但找不到我的解决方案。我有一个图库上传字段,其中包含多个文件:
echo $this->Form->input('Item.gallery.', array(
'label' => __('Gallery'),
'type' => 'file',
'multiple' => 'multiple',
));
我得到了这样的验证规则:
'gallery' => array(
'fileSize' => array(
'rule' => array('fileSize', '<=', '1MB'),
'message' => 'Image must be less than 1MB',
'allowEmpty' => true,
'last' => false,
),
'extension' => array(
'rule' => array('extension', array('gif', 'jpeg', 'png', 'jpg')),
'message' => 'Invalid image',
),
),
如果我放置单个文件上传字段,则不需要。当我将它设置为多个时,它是必需的,我不希望它。我该怎么做?
修改
问题是在.ctp文件的输入字段选项中设置'required' => false
:
echo $this->Form->input('Item.gallery.', array(
'label' => __('Gallery'),
'type' => 'file',
'multiple' => 'multiple',
'required' => false,
));
模型中的验证规则保持不变。
答案 0 :(得分:2)
尝试将'novalidate'
添加到$this->Form->create();
中的选项数组中。这会禁用HTML5验证。
我希望这会有效,但如果没有尝试将'required' => false
添加到您的验证规则中(按字段而不是规则,那么您只需要在其中一个规则中使用它而不是两者)