file_managed и валидация

Главные вкладки

Аватар пользователя Woice Woice 5 апреля 2017 в 17:33

Добрый день!

Сейчас имеется проблема с такими настройками:
Drupal 7.
При клике по кнопке выводится диалоговое окно с формой. В форме имеется поле для вставки изображения, оформленное вот таким образом:

<?php
$form
['image'] = array(
        
'#type' => 'managed_file',
        
'#title' => t(''),
        
'#default_value' => $data->image,
        
'#progress_indicator' => 'bar',
        
'#progress_message' => 'Wait ...',
        
'#upload_location' => 'public://images/',
        
'#theme' => 'passport_image_widget',
    );
?>

Данный блок успешно отрабатывается аяксом (превью загруженного изображения показывается).
Однако, есть "другая часть" формы, которая привязана к кнопке "Save", которая оформлена вот так:

<?php
$form
['actions']['save'] = array(
            
'#type' => 'submit',
            
'#name' => 'save',
            
'#value' => 'Сохранить',
            
'#attributes' => array(
                
'class' => array(
                    
'btn btn-primary btn-save'
                
),
            ),
            
"#ajax" => array(
                
"callback" => "form_submit",
                
"wrapper" => "add-wrapper",
            ),
        );
?>

Если все поля заполнены нормально, то форма отправляется нормально, в диалоговом окне появляется результат работы drupal_set_message. Однако, если в процессе валидации чего-то не хватает, то ajax перестает работать и форма пытается отработать просто ПОСТ-запрос на сервер по action атрибуту...
И я даже не понимаю, отчего так происходит - кто меняет этот злосчастный урл и в какой момент.

Может кто сталкивался с чем-то подобным? Хочется понять, хотя бы, в какую сторону копать.