Pregunta:
He adaptado el procedimiento de inicio de sesión con hook_form_FORM_ID_alter para que también se verifiquen las credenciales de otra base de datos. Ahora también necesito cambiar la validación de la contraseña olvidada. Parece que el FORM_ID de este formulario es user_pass, sin embargo, los ganchos que defino para eso no se activan. También probé con hook_form_alter para ver qué formulario se activó, pero ese gancho tampoco se activa nunca (mientras que lo hace para iniciar sesión, por ejemplo).
¿El "Solicitar nueva contraseña" es algún tipo de formulario especial? ¿Es posible cambiar el controlador de validación de este formulario?
Estoy usando Drupal 7.
Respuesta:
No hay nada especial en este formulario, puede modificarlo como cualquier otro:
function MYMODULE_form_user_pass_alter(&$form, &$form_state) {
$form['#validate'][] = 'MYMODULE_user_pass_validate';
}
function MYMODULE_user_pass_validate(&$form, &$form_state) {
// Your code here
}
Funciona perfectamente bien.