Я использую Miles Johnson File Uploader с моим CakePHP. Он отлично работает каждый раз для меня. Но сегодня я хочу работать с плагином формы jQuery с моим представлением, но он не мог уловить требуемую проверку. Без jQuery Form Plugin его работа прекрасна. Мой код jQuery, как показано ниже:
jQuery('#ImageAddForm').ajaxForm({
iframe:false,
beforeSend: function() {},
uploadProgress: function(event, position, total, percentComplete) {},
success: function() {},
complete: function(xhr) {}
});
А также код проверки модели, как показано ниже:
public $actsAs = array(
'Uploader.Attachment' => array(
'imagefile' => array(
'finalPath'=>'/files/uploads/'
)
),
'Uploader.FileValidation' => array(
'imagefile' => array(
'extension' => array('pdf','zip'),
'mimeType' => array('application/pdf','application/zip'),
'filesize' => array(
'value'=>104857600,
'error'=>'Your file size is too large; maximum size 100 MB'
),
'required' => array(
'value' => true,
'on' => 'create',
'error' => 'Please choose iPad Portrait file',
)
)
)
);
Любое предложение будет благодарно мне.
Я уже решил это, используя следующий код в моей модели:
function beforeValidate($options=array()) {
$emptyfile=array('name' => '','type' => '','tmp_name' => '','error' => (int) 4,'size' => (int) 0);
if(empty($this->data['Image']['imagefile'])){
$this->data['Image']['imagefile']=$emptyfile;
}
return true;
}
Ну, тогда попробуйте this-
'required' => array(
'value' => true,
'on' => 'create',
'allowEmtpy' => false,
'error' => 'Please choose iPad Portrait file',
)
it could not catch required validation
?