Hinweis / Fehler auslösen

  • Hallo zusammen,

    vielleicht kann mir einer Helfen, ich komme derzeit bei 2 Sachen nicht weiter oder sehe den Wald vor lauter Bäumen nicht...

    1. Ich möchte gerne auf einer Seite über einen Listener einen Hinweis anzeigen. Jedoch habe ich nur die Möglichkeit gefunden, eine success-Nachricht anzuzeigen, ich will allerdings eine Warnung anzeigen. Gibt es hierfür eine Funktion? Oder sollte man das über eine JavaScript-Funktion machen?
    2. Ich möchte auf dieser Seite direkt eine UserInputException werden, direkt in der assignVariables Methode. Jedoch lässt dies nur ein Stacktrace werfen. Ich habe so das Gefühl, als wenn ich nur eine schön formatierte UserInputException in der validate werfen kann, wenn das Formulare abgesendet wird, nicht jedoch bevor. Hat hier vielleicht jemand einen Tipp für mich?

    Danke im Voraus!

  • Leider ist der Kontext nicht wirklich klar, aber ich versuche trotzdem mal auf beide Fragen einzugehen:

    1. Ich vermute mal, dass es um eine vorhandene Seite geht? Dann könntest Du das Event userNotice im Template userNotice.tpl verwenden.
    2. Warum möchstest Du in assignVariables() eine UserInputException werden? Was genau willst Du denn erreichen?
  • 1. Vielen Dank für den Hinweis! Habe schon fast vermutet, dass ich es über einen TemplateListener machen muss.

    2. Ich möchte erreichen, dass ein Benutzer umgeleitet wird auf eine Form, wo er bei einem (von mehreren) Feldern darauf hingewiesen wird, dieses Feld auszufüllen. Hier dachte ich mir, dass eben die angezeigten Fehler wenn ein Feld leer ist, hierfür gut geeignet sind. So ein Fehleranzeige wird ja durch eine UserinputException erzeugt. Daher wollte ich das eben in einer nicht-validate() Funktion werfen. Mir kommt aber gerade, dass ich die TemplateVariablen der Fehleranzeige ja auch direkt ansprechen kann und nicht unbedingt eine UserinputException brauche. Oder ist auch das eine schlechte Idee?

    Vielen Dank für deine bisherige Antwort!

  • Das Vorgehen in Punkt 2 halte ich für sehr unglücklich, denn es bricht mit dem regulären Verhalten der gesamten Benutzeroberfläche. Diese Inline-Fehlermeldungen sind das Resultat der Validierung einer Benutzereingabe, du möchtest diese aber als eine Markierung verwenden, um auszufüllende Felder zu markieren. Der wahrscheinlich bessere Weg ist die Umkehrung der Logik, in dem alle Felder verpflichtend sind, die nicht ausdrücklich als optional deklariert wurden.

    Gutes Interface-Design zeichnet sich vor allem durch Konsistenz aus, so profitiert man insbesondere von Automatismen, die die Bedienung für den Nutzer sehr einfach machen. Wenn man 10 Formulare ausfüllt und sich das 11. abweichend verhält, so führt dies zu Irritation bis hin zur Annahme, dass dies fehlerhaft arbeiten würde. Sicher, nicht jeder Anwendungsfall wird immer optimal mit fertigen Komponenten abgedeckt, aber umso wichtiger ist es, an solchen Stellen auf der bestehenden Funktionsweise aufzubauen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!