Вы здесь

Как сделать ajax валидацию ajax формы?

0

Есть ajax ссылка, которая возвращает ajax форму, в которой есть обязательные поля.
Всё примерно также как здесь: http://xandeadx.ru/blog/drupal/822
Форма эта с параметром, ссылок несколько (собственно с параметрами для формы).
По нажатию на первую ссылку генерируется форма, валидация тоже прекрасно работает.
Жму на вторую ссылку - перестраиваю форму с другим аргументом, форма появляется, но сообщение об ошибке при неправильном вводе не появляется, хотя отлаживая ajax callback, вижу что form_get_errors() == TRUE
В чём возможна проблема?
Может при перестроении меняется form_id ?
Пытаюсь "включить" hook_forms, но никак не могу с ним разобраться, в модуле хук есть, но не var_dump ни dsm ни отладчик в него не заходит.

Версия Drupal: 
7.x
Категория: 
AJAX
Вопрос задан 19.02.2018 - 18:58

Ответы

0

В общем опять наступил на те же самые грабли.
Начал отлаживать, заметил, что при формировании очередной формы меняется атрибут id.
Т.к. он значится в #ajax wrapper формы, то само собой ошибку просто некуда выводить.

Решение: жестко указать id формы:

  $form['#attributes'] = [
    'id' => 'form-your-id'
  ];
Ответ дан 19.02.2018 - 22:16