- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Problem mit der Validierung von Eingaben in eigenen Eingabekomponenten
Hallo zusammen,
wir haben eine eigene Eingabekomponente, bei der die eingegebenen Daten bei jeder รnderung validiert werden.
Dafรผr implementiert unser SwingGadget das Interface IntegrityValidating. Die Implementierung der
Methode valiadteIntegrity() sieht wie folgt aus:
public Set<? extends Problem> validateIntegrity() {
ValidationResult validationResult = model.vailidate(true, true);
if (validationResult != null && validationResult.containsErrors()) {
DefaultProblem problem = new DefaultProblem(customBundle.getString("errorMessage"));
problem.putContext("myname", model);
return Collections.singleton(problem);
} else {
return Collections.emptySet();
}
}
Wenn man in der Methode "validateIntegrity()" ein Object von Typ "Problem" erzeugt, versucht FirstSpirit zunรคchst mit dem
dabei angegebenen Message-Key den zugehรถrigen Fehlertext aus dem ResourceBundle des SiteArchitects zu lesen.
In frรผheren Versionen von FirstSpirit war das Verhalten so, dass der Key selbst als Fehlertext ausgegeben wurde, wenn dazu
kein Eintrag in dem ResourceBundle existierte. In den aktuellen Versionen von FS wird nun aber eine Exception geworfen,
die letztlich dazu fรผhrt, dass gar keine Fehlermeldung angezeigt wird.
Meine Frage ist nun ob es mรถglich ist, das ResourceBundle des SiteArchitects um eigene Eintrรคge zu erweitern oder
zusรคtzlich ein eigenes ResourceBundle zu registrieren?
Beste Grรผรe
Dirk Schrรถdter
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Dirk,
behelfsweise kรถnntet ihr mit diesem Schlรผssel hier arbeiten, bis eine korrigierte API bereitsteht:
fs-resource.fs.client.gui.rules.save_violations=Bitte korrigieren Sie Ihre Eingabe!
Ist natรผrlich nicht von Dauer, aber der Schlรผssel existiert so bereits seit รผber 3 Jahren und sollte so schnell nicht abhanden kommen.
Beste Grรผรe
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
abgesehen davon, dass DefaultProblem keine API ist , wรผrde auch die API-Nutzung nicht weiterhelfen.
Offensichtlich handelt es sich hier um eine ungรผnstig umgesetzte API fรผr die Problembehandlung, die eine ordentliche Nutzung nicht ermรถglicht. Die ResourceBundle zu erweitern ist leider auch nicht mรถglich.
Bitte kontaktieren Sie unseren Technical Support, ich wรผrde die API in dieser Form als "Bug" einstufen. Hier muss Abhilfe geschaffen werden.
Eventuell kรถnnte man vorรผbergehend (als Workaround) versuchen, einen passenden Key zu finden, mit der eine Fehlermeldung angezeigt werden kann. Wie sieht denn die angedachte Fehleranzeige aus?
Beste Grรผรe
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
vielen Dank fรผr deine Antwort.
M.E. wรคre es hilfreich, wenn es eine generische Fehlermeldung der Form "genericErrorMessage=${0}" im
FS ResourceBundle geben wรผrde. Dann kรถnnte man seine eigene sprachabhรคngige Fehlermeldung als Parameter
รผbergeben. Etwaige variable Bestandteile der Fehlermeldung mรผsste man dann jedoch selbst ersetzen.
Wenn das DefaultProblem keine API ist, wie ist den dann der offizielle Weg um einen Fehler in einer
Custom-Eingabekomponente zu erzeugen? Ist denn der Aspect "IntegrityValidating" auch keine API?
Beste Grรผรe
Dirk
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Dirk,
einen generischen Fehlercode kรถnnte man einfรผhren, aber vermutlich sollte man die API so auslegen, dass man einfach eine entsprechende Nachricht frei formulieren kann.
Wie sieht denn die Fehlermeldung aus, die ihr an dieser Stelle ausgeben mรถchtet?
IntegrityValidating ist API und beinhaltet das Interface Problem. Der API-Weg wรคre entsprechend, dieses Interface selbst zu implementieren. Wรผrde aber in der vorliegenden Form nicht helfen.
Beste Grรผรe
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
unserer Fehlermeldung lautet "Bitte korrigieren Sie die rot markierten Formularelemente".
Damit sind die in unserem Formulareditor angezeigten Fehler gemeint.
Beste Grรผรe
Dirk
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Dirk,
behelfsweise kรถnntet ihr mit diesem Schlรผssel hier arbeiten, bis eine korrigierte API bereitsteht:
fs-resource.fs.client.gui.rules.save_violations=Bitte korrigieren Sie Ihre Eingabe!
Ist natรผrlich nicht von Dauer, aber der Schlรผssel existiert so bereits seit รผber 3 Jahren und sollte so schnell nicht abhanden kommen.
Beste Grรผรe
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
vielen Dank fรผr deine Hilfe. So machen wir es.
Beste Grรผรe
Dirk
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
wir haben aktuell die gleiche Problematik wie Dirk. Gibt es heute die Mรถglichkeit eigene Messages anzuzeigen? Der generischen Eingabe "Bitte korrigieren sie Ihre Eingabe!" fehlt leider der Platzhalter fรผr einen eigenen Text.
Grรผรe Alex

