Para usar mensajes de error personalizados en Drupal 8, siga estos pasos:
1. Cree un archivo de idioma personalizado en la carpeta de idiomas de su sitio Drupal. Por ejemplo, si desea crear un mensaje de error personalizado para el formulario de inicio de sesión, cree un archivo llamado “es.user.login.yml” (reemplazando “es” con el código de idioma de su sitio) en la siguiente ruta: /sites/default/files/translations/.
2. Abra el archivo y agregue una entrada para el mensaje de error personalizado. Por ejemplo, para el mensaje de error de “nombre de usuario o contraseña incorrectos”, puede agregar lo siguiente:
“¡Oops! El usuario o la contraseña no son correctos. Por favor, inténtelo de nuevo.”
user.authenticated: ‘¡Oops! El usuario o la contraseña no son correctos. Por favor, inténtelo de nuevo.’
3. Guarde el archivo y asegúrese de que esté habilitado en la configuración de idioma de Drupal.
4. Para mostrar el mensaje de error personalizado en su sitio, agregue una nueva regla en el archivo .theme de su tema activo. Por ejemplo, para mostrar el mensaje de error personalizado para el formulario de inicio de sesión, agregue el siguiente código:
function MYTHEME_form_alter(&$form, &$form_state, $form_id){
if($form_id == ‘user_login_form’){
$form[‘#submit’][] = ‘MYTHEME_user_login_submit’;
}
}
function MYTHEME_user_login_submit(&$form, &$form_state){
$uid = $form_state[‘uid’];
if($uid == 0 ){
$message = t(‘¡Oops! El usuario o la contraseña no son correctos. Por favor, inténtelo de nuevo.’);
drupal_set_message($message, ‘error’);
}
}
5. Guarde y cargue su archivo .theme y pruebe su sitio para ver el nuevo mensaje de error personalizado.