Quiero enganchar en el módulo de registro. Ya tengo una base de datos de 50000 usuarios que usan mi sitio web anterior. Ahora estoy migrando a Drupal.Enganche en el registro de Drupal y valide la información del usuario contra la lógica comercial
Todavía no he migrado las entradas a la base de datos drupal. Verificaré mi antigua base de datos.
Cuando un usuario intenta registrarse en Drupal, necesito comprobar si el nombre de usuario que dio ya está presente en esa lista de 50000 entradas (en crecimiento). Si existe, necesito cancelar el registro que muestra un mensaje de error que dice que existe un nombre de usuario.
¿Qué gancho debo usar? Si mi código indica que la validación falló, ¿cómo puedo decirle a drupal que muestre un mensaje de error?
Editar: Conecté en el hook_user y comprobé la opción 'validate'. Puedo validar y asignar mensajes de error. Pero está sucediendo para todas las formas. Quiero validar solo el nuevo formulario de creación de cuenta. ¿Cómo puedo hacer eso?
Gracias.
+1 Muchas gracias. Funcionó, puedo establecer la validación de los campos de ese formulario en particular. No sabía lo de FORM_ID, utilicé otro gancho y se ejecutaba para todas las formas: D – user266803
Aunque esta es una gran solución, tenga en cuenta que actualmente Drupal ejecuta hook_form_alter DESPUÉS de hook_form_FORM_ID_alter. Así que puede haber un caso en el camino donde otro módulo anulará los cambios en hook_form_FORM_ID_alter. 95% de las veces no se encontrará con un problema, pero algunos dicen que es más seguro usar hook_form_alter y una instrucción switch. –
Si su función de validación solo está revisando un solo campo, considere crear una función [Validación del elemento] (https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#element_validate) en su lugar. – rymo