Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

DatabaseTransactionNoActiveException in mein_module_node_validate

Eingetragen von paul (1)
am 22.01.2019 - 21:27 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo zusammen!
Ich bekomme in hook_node_validate() nur in bestimmten Situationen folgende Fehlermeldung:

Zitat:

DatabaseTransactionNoActiveException: in DatabaseConnection->rollback() (Zeile 1061 von /hp/cq/aa/iq/www/mk/proben/includes/database/database.inc).

Mein Hook mit Hilfsroutine sieht ungefähr so aus:

<?php
/**
* Prüft, ob schon ein node mit dem $title und dem Inhaltstyp 'my_content_type' vorhanden ist
* Dabei soll die $eigene_nid ausgenommen werden, z. B. wenn der Titel nur geändert wird
*/
function mein_module_title_exists($title = false, $eigene_nid = NULL) {
  if (
$title) {
   
$query = db_select('node', 'n');
   
$query
     
->fields('n', array('nid', 'type', 'title'))
      ->
condition('n.type', 'my_content_type', '=')
      ->
condition('n.title', $title, '=');
    if (!
is_null($eigene_nid)) {  // Wenn neuer node angelegt wird, ist $eigene_nid NULL
     
$query
       
->condition('n.nid', $eigene_nid, '<>');
    }
   
$result = $query
     
->execute()
      ->
fetchAll()
      ;
    return (!empty(
$result));
  }
  return
false;
}

/**
* Implementiert hook_node_validate($node, $form, &$form_state)
* Geprüft wird bei Neuanlage eines Nodes und bei Editieren.
*/
function mein_module_node_validate($node, $form, &$form_state) {
  if (
$node->type == 'my_content_type') {
    if (
mein_module_title_exists($node->title, $node->nid)) {  // Wenn Seite neu, ist nid NULL
     
form_set_error('title', 'Der Projektname wird bereits verwendet.');
    }
  }
}
?>

Das funktioniert in fast allen Fällen einwandfrei.

  • Also Versuch Neuanlage mit schon vorhandenem Titel -> Fehlermeldung im Formular
  • Änderung vom Titel (z.B. "Titel1" zu "Titel2") -> keine Fehlermeldung
  • Andere Daten im Formular ohne Titeländerung -> keine Fehlermeldung

ABER:
Änderung des Titels NUR bzgl. der Groß- / Kleinschreibung (z.B. "Titel1" zu "tITEL1" oder "titel1") ->

Zitat:

Auf der Website ist ein unvorhergesehener Fehler aufgetreten. Bitte versuchen Sie es später nochmal.

Im Protokoll steht dann

Zitat:

DatabaseTransactionNoActiveException: in DatabaseConnection->rollback() (Zeile 1061 von /hp/cq/aa/iq/www/mk/proben/includes/database/database.inc).

Hat jemand eine Idee? Danke!

‹ setRedirect wechselt Sprache DatabaseTransactionNoActiveException in mein_module_node_validate ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Netx360
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 2 Wochen 2 Tagen
  • Textboxen mit Tabelle
    vor 2 Wochen 2 Tagen
  • Du sollst ja auch keine
    vor 2 Wochen 2 Tagen
  • Theme
    vor 2 Wochen 2 Tagen
  • Welches Theme benutzt du
    vor 2 Wochen 2 Tagen
  • Mit Responsive Raster hatte
    vor 2 Wochen 3 Tagen
  • Hallo Alex,um das Häkchen
    vor 2 Wochen 3 Tagen
  • Modul view_unpublished
    vor 2 Wochen 4 Tagen
  • Modul "override node options"
    vor 2 Wochen 5 Tagen
  • Im Grunde ist dass ein
    vor 3 Wochen 17 Stunden

Statistik

Beiträge im Forum: 250271
Registrierte User: 20479

Neue User:

  • Floydphymn
  • Stevebok
  • Robertnobia

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 63 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association