Проверка на стороне клиента Drupal 7 в регистрационной форме?

#forms #validation #drupal #drupal-7

#формы #проверка #drupal #drupal-7

Вопрос:

У меня довольно сложная регистрационная форма .. в ней около 40 полей (продолжайте и смейтесь, клиент хочет, чтобы это было именно так, ага).

Некоторые поля скрыты / отображаются на основе значений других полей.

Проблема с использованием встроенного в Drupal поля «обязательно» заключается в том, что поля, которые не отображаются, по-прежнему помечены как обязательные. Причина в том, что проверка Drupal выполняется на стороне сервера.

Мне нужно выполнить проверку на стороне клиента из-за того, что некоторые поля скрыты / показаны.

Возможно ли это вообще? Если да, то как мне это сделать?

Ответ №1:

Да, это возможно, для этого вы можете использовать свойство #ajax, для достижения этого вам придется довольно глубоко изучить form api.

http://drupal.org/node/1043838

Это будет нелегко, это один из самых сложных аспектов. Я думаю, что немного обучения помогло бы

Я бы посмотрел, возможно, на получение подписки на месяц, чтобы друпализировать меня илиhttps://buildamodule.com

Я использовал Druplaize me только потому, что в нем больше возможностей d6, но buildamodule.com очень хорошая цена — 29 долларов США в месяц. Удачи!

Ответ №2:

Я думаю, это описывает использование новой функции #state в FAPI. Вы можете прочитать об этом здесь: http://api.drupal.org/api/examples/form_example!form_example_states.inc/function/form_example_states_form/7

Ответ №3:

Вы можете взглянуть на модуль clientside_validation, он может обрабатывать «скрытые» поля. Но обычно Drupal validate должен учитывать #требуется в сочетании с #состояниями.