Вы здесь

Не выводится сообщение об ошибке при валидации required полей

0

Как запилить массовую валидацию required полей в кастомной форме? Чтобы каждое поле вручную не прописывать. Сама форма - ajax с $form_state['rebuild'] = TRUE; на сабмите.

Версия Drupal: 
7.x
Категория: 
Form API
Вопрос задан 18.04.2015 - 21:43
Аватар пользователя SAM
SAM
212

Я понимаю, что должна быть стандартная валидация required полей, которая выдаст сообщение о необходимости заполнения. Но этого не происходит.

Комментарий оставлен 18.04.2015 - 21:49

Нет. У меня есть функция валидации и она работает. Мне просто не охото писать проверку "если required и пусто, то ошибка", на каждое такое поле.

Комментарий оставлен 18.04.2015 - 21:55

Ничего не понятно. Опишите нормально задачу - что имеете, что хотите получить. Выложите код.

Комментарий оставлен 18.04.2015 - 22:12

Есть обычная кастом форма. Там куча полей с required.
Есть валидация на поле. Сама функция валидации нормально отрабатывается и drupal_set_error показывает успешно. Но поля required сами по себе не выдают сообщения о ошибке, а просто перезагружается форма.

Код выкладывать не вижу смысле, так как там ничего особенного. Всё стандартное:
Ajax return $form;
И в сабмите $form_state['rebuild'] = TRUE;

Комментарий оставлен 18.04.2015 - 22:20

Ок, возьму из example. А так я сам был удивлён, почему не срабатывает.

Комментарий оставлен 19.04.2015 - 09:06

Ответы

0

Ошибка найдена. Дело в том, что у меня поля были без #title. А стандартный валидатор не проверяет на required, при отсутствии #title, что впрочем-то и логично.
Чтобы всё заработало, надо делать так:

'#title' => 'NAME',
'#title_display' => 'invisible',
Ответ дан 07.05.2015 - 05:50
Аватар пользователя SAM
SAM
212