Domino 9 und frühere Versionen > ND9: Entwicklung
Mal wieder customValidator
(1/1)
Flachmann:
Hallo!
Ich habe http://atnotes.de/index.php?topic=55872.0 gefunden, wollte da auch antworten, aber die Seite meint, das das Thema schon etwas alt sei. ::) Darum auf ein Neues:
Mein Custom Validator speichert das Dokument unabhängig vom zurück gegebenen Wert von validate.
--- Code: ---<xe:this.validators>
<xp:customValidator
message="Dieser Wert wurde schon schon verwendet.">
<xp:this.validate><![CDATA[#{javascript:var sID:String = getComponent('inputText1').getSubmittedValue();
var vieLU:NotesView = database.getView('(vieLU)');
var docLU:NotesDocument = vieLU.getDocumentByKey(sID, true);
return (docLU == null) ? true : false;}]]></xp:this.validate>
</xp:customValidator>
</xe:this.validators>
--- Ende Code ---
Im Prinzip soll hier nur geprüft werden, ob der Wert in inputText1 schon in einer Ansicht vorkommt. inputText1 ist nicht leer und docLU wird auch gefunden (ist soweit schon überprüft). D.h. der Vergleich liefert in diesem Fall false zurück und sollte also den Wert message anzeigen. Stattdessen wird aber gespeichert. - Wobei es egal ist, was zurück geliefert wird (true oder false), es wird in jedem Fall gespeichert und das Dokument doppelt angelegt.
Flachmann:
Ach Mist, sorry, das sollte natürlich ins "ND9: Entwicklung"-Board.
Sven Hasselbach:
Ein Validator muss einen String oder eine FacesMessage zurück liefern, und nicht true oder false.
Flachmann:
Hallo Sven,
danke für Deine Antwort. Ja, damit geht es. Dann wundere ich mich, wozu der message-Parameter gut ist. Ich hätte erwartet, dass der die Fehlermeldung enthält, die angezeigt werden soll...
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln