Я пытаюсь проверить файлы в формах Phalcon следующим образом:
$facilityimage = new File('facilityimage');
$facilityimage->addValidators([
new FileValidator([
'maxSize' => '0.5M',
'messageSize' => 'Your image is too big. Max file size: 500KB',
'allowedTypes' => array('image/jpeg', 'image/png'),
'messageType' => 'Your image must be a JPEG or PNG file',
'equalResolution' => '130x80',
'messageEqualResolution' => 'Image resolution should be 130px by 80px.',
'allowEmpty' => (!empty($options['edit']) ? true : false)
])
]);
$this->add($facilityimage);
Затем в моем контроллере:
if (!$form->isValid(array_merge($this->request->getPost(), $_FILES))) {
foreach ($form->getMessages() as $message)
$this->flash->error((string) $message);
}
Код работает в действии создания, где ни одна сущность не связана с форма. Однако, когда в действии редактирования сущность связана, а затем, если проверка разрешения не удалась, разрыв элемента происходит из-за нового значения загруженного файла, которое еще не должно быть связано с формой.
Любой вывод к решению приведет к быть оцененным.