Chcę podłączyć się do modułu rejestracyjnego. Mam już bazę danych 50000 użytkowników, którzy korzystają z mojej starej witryny. Teraz migruję do Drupala.Dołącz do rejestracji Drupala i sprawdź informacje o użytkowniku względem logiki biznesowej
Nadal nie migrowałem wpisów do bazy danych drupal. Będę sprawdzał w mojej starej bazie danych.
Gdy użytkownik próbuje się zarejestrować w Drupal, muszę sprawdzić, czy podana przez niego nazwa użytkownika jest już obecna na tej liście 50000 (i rosnącej) pozycji. Jeśli istnieje, muszę anulować rejestrację, pokazując błąd informujący, że nazwa użytkownika istnieje. Jeśli mój kod wskazuje, że sprawdzanie poprawności nie powiodło się, Jak mogę poinformować drupal, aby wyświetlił komunikat błędu?
Edytuj: Podłączyłem się do hook_user i zaznaczyłem opcję "validate" op. Potrafię sprawdzać i przypisywać komunikaty o błędach. Ale dzieje się to dla wszystkich form. Chcę zweryfikować tylko nowy formularz tworzenia konta. Jak mogę to zrobić?
Dzięki.
+1 Wielkie dzięki. Udało się, jestem w stanie ustawić sprawdzanie poprawności dla pól danego formularza. Nie wiedziałem o funkcji FORM_ID, użyłem innego haka i działało dla wszystkich formularzy: D – user266803
Chociaż jest to świetne rozwiązanie, należy pamiętać, że obecnie Drupal uruchamia hook_form_alter AFTER hook_form_FORM_ID_alter. Tak więc może być przypadek na drodze, gdzie inny moduł przeładuje twoje zmiany hook_form_FORM_ID_alter. 95% czasu nie napotkasz problemu, ale niektórzy twierdzą, że najbezpieczniej jest używać hook_form_alter i instrukcji switch. –
Jeśli funkcja sprawdzania poprawności sprawdza tylko jedno pole, należy zamiast tego rozważyć utworzenie funkcji sprawdzania poprawności elementu (https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#element_validate). – rymo