У меня есть форма, где пользователи могут загружать изображения, и я печатаю его на страницу как так:проверки CakePHP не обнаруживает поля формы
<?php echo $this->Form->label('file', 'Image file', array('class' => 'col-lg-1 control-label')); ?>
Тогда в модели я настройке проверки как так:
public $validate = array(
'file' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'You must select an image to upload'
),
'extension' => array(
'rule' => array('extension', array('png')),
'message' => 'Images must be in PNG format'
),
'size' => array(
'rule' => array('fileSize', '<', '1MB'),
'message' => 'Images must be no larger than 1MB'
),
'goodUpload' => array(
'rule' => 'uploadError',
'message' => 'Something went wrong with the upload, please try again'
)
)
);
Однако, как представляется, не торт будет связать поля формы с правилом проверки, что если выбрать изображение для загрузки я всегда получаю «Вы должны выбрать изображение для загрузки» в качестве формы ошибка. Я убедился, что форма имеет enctype="multipart/form-data"
.
Это происходит потому, что file
не является полем базы данных? Как я могу сделать торт для проверки на file
?
Edit: Вот вся моя форма, в соответствии с просьбой: http://pastebin.com/SbSbtDP9
Можете ли вы опубликовать код для всей вашей формы? – Andrew
Конечно, пришлось загрузить его в Паштебин, хотя он довольно длинный. –
Вы посмотрели раздел проверки правильности загрузки на этой странице: http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html – Andrew