Themensuche und Sonderzeichen

Issue #823 resolved
Laura Meierkort created an issue

Wenn in der Themensuche ein Sonderzeichen genutzt wird (z.B. (, ), etc.) dann läuft die Suche auf einen unbehandelten Fehler. Auch nach dem Löschen des Sonderzeichens funktioniert die Suche nicht wieder.

/modules/searchbar/tree/model.js in der Funktion search (Z. 84 ff.)

if (this.get("inUse") === false && searchString.length >= this.get("minChars")) {
  this.set("inUse", true);
  searchStringRegExp = new RegExp(searchString.replace(/ /g, ""), "i"); // Erst join dann als regulärer Ausdruck
  this.searchInLayers(searchStringRegExp);
  this.searchInNodes(searchStringRegExp);
  Radio.trigger("Searchbar", "createRecommendedList", "tree");
  this.set("inUse", false);
}

Hier wird new RegExp mit dem eingegebenen Suchbegriff aufgerufen. new RegExp kann aber nicht mit Sonderzeichen wie (, ), $, ?, etc. umgehen, weshalb die Funktion hier auf einen Fehler läuft. Durch die fehlende Fehlerbehandlung für new RegExp wird der Parameter inUse nie wieder auf false gesetzt, wodurch die if-Bedingung (Z. 1) nie wieder erfüllt werden kann.

Comments (3)

  1. Log in to comment