我在点击Notice: Undefined index: #value in element_validate_integer_positive() (line 4190 of includes\form.inc)
的{{1}}或Upload
之后收到错误Remove
,即使该文件实际存储在正确的目录中也是如此。
以下是相关摘录:
managed_file
我正在使用PHP 5.3.6在XAMPP上运行实例。降级到PHP 5.2.9没有解决其他论坛中指出的问题。
当我使用Chrome检出ajax请求网址时,我会看到从$form['some_image'] = array(
'#title' => t('Image'),
'#type' => 'managed_file',
'#description' => t('The uploaded image will be displayed on this page using the image style choosen below.'),
'#default_value' => variable_get('some_image', ''),
'#upload_location' => 'public://some_images/',
);
找到的file/ajax/image/file/form-wRaEJ-JRPqC7q6BSbp6Ccxi_9X1cpiaBzhwlIs9NFd0
中看到的消息
错误消息发生了不可恢复的错误。上载的文件可能超过了此服务器支持的最大文件大小(512 MB)。
请注意,我只上传了一个100kb的文件。
/admin/reports/dblog
的第4190行如下:
includes/form.inc
更新:事实证明问题不仅适用于function element_validate_integer_positive($element, &$form_state) {
$value = $element['#value'];
if ($value !== '' && (!is_numeric($value) || intval($value) != $value || $value <= 0)) {
form_error($element, t('%name must be a positive integer.', array('%name' => $element['#title'])));
}
}
,还适用于表单本身。单击“提交”按钮会显示相同的错误。
目前,我的managed_file
如下:
hook_form_validate
删除它会给我一个Drupal错误,说它应该在那里。我想我错过了一个其他钩子的实现,但我不知道哪个。
我在这里缺少什么?
答案 0 :(得分:0)
事实证明问题来自于#type
错误估价numericfield
的同一表单的完全不同的字段。我必须删除所有表单字段并搜索它们中的哪一个导致错误。
单击managed_file
按钮时,Upload
字段似乎也会触发同一表单中所有其他字段的验证。