Ответы
Ошибка найдена. Дело в том, что у меня поля были без #title. А стандартный валидатор не проверяет на required, при отсутствии #title, что впрочем-то и логично.
Чтобы всё заработало, надо делать так:
'#title' => 'NAME',
'#title_display' => 'invisible',
Ответ дан 07.05.2015 - 05:50
Что?
Я понимаю, что должна быть стандартная валидация required полей, которая выдаст сообщение о необходимости заполнения. Но этого не происходит.
http://xandeadx.ru/blog/drupal/822 ?
Нет. У меня есть функция валидации и она работает. Мне просто не охото писать проверку "если required и пусто, то ошибка", на каждое такое поле.
Ничего не понятно. Опишите нормально задачу - что имеете, что хотите получить. Выложите код.
Есть обычная кастом форма. Там куча полей с required.
Есть валидация на поле. Сама функция валидации нормально отрабатывается и drupal_set_error показывает успешно. Но поля required сами по себе не выдают сообщения о ошибке, а просто перезагружается форма.
Код выкладывать не вижу смысле, так как там ничего особенного. Всё стандартное:
Ajax return $form;
И в сабмите $form_state['rebuild'] = TRUE;
Как это не выдают, это самый часто-встречающийся способ валидации — http://cgit.drupalcode.org/drupal/tree/includes/form.inc?h=7.x#n1443
Ок, возьму из example. А так я сам был удивлён, почему не срабатывает.