Форма мастера Drupal: проверка и предыдущая кнопка - PullRequest
1 голос
/ 21 февраля 2009

На моем сайте drupal6 есть форма мастера. Я реализовал это с FormAPI, используя хранилище форм и свойство rebuild. Моя проверка формы выполняется с помощью свойства #required и функций из свойства #element_validate. Это работает нормально, но, с одной стороны, когда я нажимаю на предыдущую кнопку, форма проверяется, и я не хочу этого. Есть ли разумный и правильный способ отключить проверки при нажатии определенной кнопки формы?

Ответы [ 3 ]

1 голос
/ 26 апреля 2009
  // hack to clear validation errors during wizard processing
  form_set_error(NULL, FALSE, TRUE);
  unset($_SESSION['messages']['error']);
1 голос
/ 31 мая 2012

ответ Кевина работает. Вы также можете попробовать http://drupal.org/project/skip_validation, где вы добавите дополнительное свойство к предыдущей кнопке, '#skip_validation' => TRUE

1 голос
/ 21 февраля 2009

Единственный способ сделать это чисто (к сожалению) - это избежать использования #required = TRUE и проверить его самостоятельно в обработчике проверки, принимая во внимание знание того, на каком «шаге» находится форма в процессе мастера.

Один из распространенных подходов - это накапливать все ваши текущие данные в $ form_state ['storage'], где они будут сохраняться между перестройками.

...