У меня есть ситуация, что если моя форма не проверяется, мне нужно удалить все, кроме первого аргумента из URL. Причина этого в том, что результаты моей формы отображаются под формой в области содержимого. Если форма не подтверждена, мне нужно удалить все предыдущие результаты.
Я попробовал следующее в моей функции form_validate.
// Check if there were any errors.
$errors = form_set_error();
if (!empty($errors)) {
drupal_goto(arg(0));
}
Страница назначения, очевидно, одинакова, за исключением того, что все аргументы, кроме первого, удаляются. Проблема в том, что Drupal забывает о предыдущем состоянии формы и об ошибках, которые были вызваны функцией form_validate.
Я также пытался изменить значение #redirect в моей функции form_validate, но безрезультатно.
Есть предложения?