Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: New Admin am 08.04.03 - 10:50:57
-
Hallo !
Habe in einer Maske ein Dropdown Feld namens Subject. Aus diesem Feld muss der Benutzer einen Wert auswählen.
Bei der Eingabevalidierung habe ich folgende Formel drinnen.
@If(Subject=""; @Failure("Bitte wählen Sie eine Kategorie aus"); @Success)
Jedoch greift meine Regel nicht und das Feld kann leer gelassen werden.
Was mach ich falsch bzw. warum funktioniert das nicht
Besten Dank
Markus
-
ähm .. ächz ... stöhn.. ist das wieder ein typischer Notes Fehler und keiner weiss woher der kommt..
also ich würde mal den designer und den client schliessen und die cache.dsk löschen..... und dann müsste es tun.... weil die Formel ist ja ok... und notes ist auuuch ok. na ja nicht immer ;D
cu
-
Ich würde das ganze nicht in der Eingabevalidierung des Feldes das machen ich würde erst beim Speichern abfragen ob etwas drinnen steht! Aber es ist so auch kein Problem! verwende das:
@If(Subject="";@Return(@Prompt([OK];"Fehler";"Bitte wählen Sie eine Kategorie aus."));@Success)
robertpp
-
:)
Danke das wars !
Hast mit schon sehr geholfen
Schöne Grüße
Markus
-
Dazu hab ich noch eine Frage:
Wenn ich die Anfrage ob ich speichern möchte mit "ja" bestätige und dann auf OK klicke, dass ich das Feld erst ausfüllen soll, dann speichert er trotzdem und verläßt die Eingabemaske..
MisterDa
-
Erste Möglichkeit:
über speichern&schließen Button:
@If(zeite="";@Return(@Prompt([OK];"Error";"you must input a end date."));
Status = "";@Return(@Prompt([OK];"Error";"you must input a status."));
@Do(@PostedCommand([FileSave]); @PostedCommand([FileCloseWindow])))
Die zweite Möglichkeit ist eigentlich besser:
Beim Doc unter "Querysave" das ganze einbauen. Gehört halt dann ein wenig abgeändert.
robertpp
-
ne, es soll nich über nen extra Button gehen, weil User oft auch über das X die Maske verlassen. Jetz hab ich den Code in die Querysave eingebaut und an meine Felder angeglichen, er schließt nach der Meldung aber trotzdem und speichert ab. Gibts da nen Command oder nen Befehl, um das zu unterbinden`?
MisterDa
-
es gibt nur 2 Wege, den Speichervorgang abzubrechen:
a.) ein @failure in der Validierungsformel eines Feldes
b.) im Query Save ein continue=false innerhalb eines Scripts
@return und dergleichen bringt nicht viel.
3. Weg, der indirekt damit zusammenhängt, wie man Speichern unterbinden kann (nicht unterbrechen !! Unterschied)
Um allerdings nen User zu zwingen, auf nen Button zu klicken, in dem dann die Formelbasierenden Überprüfungen liegen, nimmt man das Feld SaveOptions, berechnet zur Anzeige, hidden, Defaultwert "0" (TEXT !)...solange User auf den Speicherbutton nicht klickt (der in der ersten Zeile sogleich Field SaveOptions:="1" setzt), ist das Document nicht speicherbar, da SaveOptions ein Spezialfeld ist, dessen Sinn es ist, die Speicherabfrage zu unterdrücken.
"0" = rausgehen und trotz Änderungen keine Speicherung UND keine Anfrage "wollen sie..."
"1" = rausgehen und trotz Änderungen speichern OHNE Anfrage "wollen Sie...."
-
danke, haut einwandfrei hin mit dem QuerySave :)
MisterDa