他の必須フィールドもあるフォームに画像をアップロードしようとしているときに問題が発生しました。そのため、必須フィールドに何も入力せずに画像をアップロードすると、アップロードされた画像が失われます (フォームの検証中に画像がなくなります)。form_state などのどこにも印刷できません。必要な他のフォーム要素を含むフォーム内でファイルをアップロードするにはどうすればよいですか? ユーザーが他の必須フィールドに情報を入力するのを忘れた場合に、ユーザーに写真を再度アップロードしてほしくありません。
何か案は?
function form() {
$form['#attributes'] = array('enctype' => "multipart/form-data");
//'upload' will be used in file_check_upload()
$form['upload'] = array('#type' => 'file');
$form['my_require_field'] = array(
'#type' => 'textfield',
'#title' => t('Enter code here'),
'#default_value' => 1,
'#size' => 20,
'#required' => TRUE
);
}
function form_validate() {
if(!file_check_upload('upload')) {
form_set_error('upload', 'File missing for upload.');
}
}
function form_submit() {
$file = file_check_upload('upload');
}