Я хочу подключиться к модулю регистрации. У меня уже есть база данных из 50000 пользователей, которые используют мой старый веб-сайт. Теперь я перехожу на Drupal.Захват регистрации Drupal и проверка информации о пользователе против бизнес-логики
Я до сих пор не переносил записи в базу данных drupal. Я буду проверять свою прежнюю базу данных.
Когда пользователь пытается зарегистрироваться в Drupal, мне нужно проверить, указано ли имя пользователя, которое он дал, в списке из 50000 (и растущих) записей. Если он существует, мне нужно отменить регистрацию с сообщением об ошибке. Msg сказал, что имя пользователя существует.
Какой из них использовать? Если мой код показывает, что проверка не удалась, как я могу сообщить drupal, чтобы отобразить сообщение об ошибке?
Редактировать: я подключился к hook_user и проверил на «проверку» op. Я могу проверять и назначать сообщения об ошибках. Но это происходит для всех форм. Я хочу проверить только новую форму создания учетной записи. Как я могу это сделать?
Спасибо.
+1 Большое спасибо. Он работал, я могу установить валидацию для полей (ов) этой конкретной формы. Я не знал о FORM_ID, я использовал другой крючок, и он работал для всех форм: D – user266803
Хотя это отличное решение, имейте в виду, что в настоящее время Drupal запускает hook_form_alter ПОСЛЕ hook_form_FORM_ID_alter. Таким образом, может произойти случай, когда другой модуль переместит ваши изменения hook_form_FORM_ID_alter. 95% времени, когда вы не столкнулись с проблемой, но некоторые говорят, что безопаснее использовать hook_form_alter и оператор switch. –
Если ваша функция проверки проверяет только одно поле, подумайте над созданием функции [Проверка элементов] (https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#element_validate). – rymo