Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alexis am 05.09.06 - 12:06:46
-
Hallo Forum,
kann man die Standard-Validierungsmeldung von LN "ausschalten" und durch eine eigene ersetzen, ohne dass dieses im QuerySave programmiert wird?
Alexis
-
Was ist denn die "Standard-Validierungsmeldung" ??
-
Hallo Klaus,
die LotusNotes-Meldung lautet:
"Notes Error - field didn't pass validation formula"
Alexis
-
Zum Beispiel wenn man Text in ein Zahlenfeld eingibt?
Macht das Sinn, die auszuschalten? :-\
Moritz
-
Sie will die ja nicht ausschalten, sondern wohl nur den Text ändern.
Mir ist da aber nix bekannt, ausser eben im Querysave....
-
Wann soll denn die eigene Fehlermeldung erscheinen?
Nach dem Querysave ist es zu spät... also ginge es höchstens noch im InputValidation-Event.
Oder will Alexis ganz ohne Programmierung auskommen?
Moritz
-
Hallo,
....... Schade dass der Text nicht verändert werden kann, denn der Standardtext (s.o.) gibt ja keinen Hinweis auf das betreffende Feld. Eine zusätzliche @Prompt message im Input Validation ist unschön, da die User 2 Nachrichten wegklicken müssen.
Frage an Moritz: Warum ist es im QuerySave zu spät?
Alexis
-
Natürlich geht das im Querysave !
FM ausgeben, Continue = False setzen und Exit Sub.
Hat auch den Vorteil, dass man ALLE Felder prüfen kann und eine FM aller Fehler ausgeben kann und sich als User nicht von Feld zu Feld hangeln muss.
-
Ich habe gesagt nach dem QuerySave ist es zu spät (z.B. Im PostSave o.ä.).
Die InputValidation läuft vor dem QuerySave ab. Wenn du hier schon den korrekten Wert erzwingst, läuft die QuerySave erst ab, wenn keine Notesinterne-Fehlermeldung mehr erscheint. Der Benutzer sieht also nur noch deine FM.
Aber wie Klaus schon gesagt hat, "QuerySave" ist eigentlich die schönere Lösung und ich sehe den Nachteil nicht...
-
OK, alles klar und vielen Dank.
Alexis
-
also wenn ich in einem Feld (wie übrigens hervorragend in der Hilfe beschrieben) folgende Formel in die InputValidation (Eingabevalidierung) eintrage:
@If( @ThisValue = "" ; @Failure( "Das Feld " + @ThisName + " muss gefüllt sein" ) ; @Success );
dann bekomme ich wunderbar eine Meldung "Das Feld xyz muss gefüllt sein" und NICHT "Feld hat Validierung nicht entsprochen"
Also wenn ich in meiner Designer- Hilfe hingehe, auf "Index" Klicke, dann anfange "Eingabevalidierung" einzugeben, dann komme ich auf einen Eintrag "Eingabevalidierungsformel".
den aufklappen, dann komme ich zu den Befehlen @Failure und @Success. Und wenn ich dazu das Beispiel anschaue
@If(Preis<100;@Success;@Failure("Preis ist zu hoch"))
dann weiss ich nicht, was daran nicht zu verstehen ist....
Tode