Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: LisaS am 18.10.06 - 11:11:45

Titel: Input-Validierung - Bug oder Feature?
Beitrag von: LisaS am 18.10.06 - 11:11:45
Hallo Leute,
ich habe nach dem Update auf Domino 7 folgendes Phenomen bei den Feld Input Validationen.
Und zwar bin ich mir ziemlich sicher, dass unter Notes/Domino 5 bei folgender Formel in der Input Valitation,
Code
@If
(@IsDocBeingSaved=1 & Feld1 = "";
@Failure("Bitte geben Sie einen Wert an.");
@Success)
wenn das Feld leer ist und dass Dokument mit
Code
@Command([FileSave]); --- Dokument speichern
@SetField("SaveOptions";"0"); --- "Möchten Sie speichern" Popup unterdrücken
@Command([FileCloseWindow]) --- Fenster schließen
geschlossen werden soll - die Meldung der Validierung kommt und das Dokument geöffnet bleibt.

Das Problem ist jetzt aber, dass die Meldung kommt und das Dokument geschlossen wird.
Und das leere Feld wird gespeichert.

Wenn ich mir der Formel
Code
@Command([FileSave]); --- Dokument speichern
@Command([FileCloseWindow]) --- Fenster schließen
schließen möchte kommt bei einem leeren Feld1 die Fehlermeldung und
zusätzlich die Melung ob ich speichern möchte.
Klicke ich dann Nein wird dass Dokument geschlossen und das Leere feld wird gespeichert.

Ich dachte bei einer Feld Validierung kann das Dokument nicht gespeichert werden, bevor
die Bedingung erfüllt ist.

Im Querysave und Queryclose speicher ich nicht zusätzlich, hat auch jemand dieses Problem, oder
hab ich irgendwo einen Denkfehler?

Im übrigen habe ich an anderer Stelle das selbe Problem wenn ich eine Validierung im QuerySave machen möchte und mit coninue=False
den Speichervorgang abbrechen möchte.

Das hat doch sonst immer funktioniert. :-: :-: :-:
Gruß
Hitcher
Titel: Re: Input-Validierung - Bug oder Feature?
Beitrag von: botschi am 18.10.06 - 12:26:33
Im Querysave Coninue = false setzen haut bei uns super hin.
Die Feldvalidierung nutzen wir nie, weil mitunter von Notes Meldungen kommen "Feld hat Validierung nicht entsprochen" oder sowas, deswegen machen wir die Plausis beim Speichern, eben im Querysave. Und das tut sehr gut...
Titel: Re: Input-Validierung - Bug oder Feature?
Beitrag von: it898ur am 18.10.06 - 12:51:05
Die fragliche Formel muss so aussehen, damit bei einem Fehler beim Speichern (Input Validation oder QuerySave) kein Schließen erfolgt oder versucht wird (funktioniert ab Notes 5):

@If(@Command([FileSave]); @Command([FileCloseWindow]); @Return(void))

Gruß

André
Titel: Re: Input-Validierung - Bug oder Feature?
Beitrag von: LisaS am 18.10.06 - 13:26:04
@botschi:
richtig eigendlich validiere ich auch immer im Querysave, ist aber nicht immer möglich...
@André:
mit der Formel geht es - Problem gelöst. Eine Frage noch: Was ist viod?
Gruß
Hitcher
Titel: Re: Input-Validierung - Bug oder Feature?
Beitrag von: it898ur am 18.10.06 - 14:11:11
Ein Platzhalter für "mache nichts" - in der Regel funktioniert auch einfach "", aber mit einigen Notesversionen gab es da wohl Probleme und deshalb void.

André
Titel: Re: Input-Validierung - Bug oder Feature?
Beitrag von: Tode am 18.10.06 - 14:12:25
@botschi: Die Meldung kommt nur, wenn man bei der Kombination Eingabevalidierung / Script nicht aufpasst.

Ich setze hier Überall Eingabevalidierungen ein, und fast nie das Querysave... So hat halt jeder seine Vorlieben....

Wollte ich nur noch mal bemerkt haben, weil es hier einfach viele "richtige" Wege gibt.

Tode
Titel: Re: Input-Validierung - Bug oder Feature?
Beitrag von: botschi am 18.10.06 - 14:26:02
Wie muss ich mein Script denn anpassen, damit es die (manchmal) doppelten Meldungen der Feldvalidierung nicht gibt? Wahrscheinlich sollte man kein refresh im Script haben, oder?
Ich habe schon häufiger damit gespielt, aber bin nie auf eine Lösung gekommen. Irgendein User hat es immer hinbekommen eine Meldung zweimal oder eine nicht aussagekräftige Meldung von Notes zu bekommen  :'(
Titel: Re: Input-Validierung - Bug oder Feature?
Beitrag von: Glombi am 18.10.06 - 14:32:43
On Error goto ErrorSave
call uidoc.Save
....

Ende:
Exit Sub

ErrorSave:
Resume Ende


Damit unterdrückst Du die doppelten Meldungen.
Titel: Re: Input-Validierung - Bug oder Feature?
Beitrag von: botschi am 18.10.06 - 14:42:25
Tut mir leid, wenn ich nochmal so eine doofe Frage stelle, aber wo soll der Code hin?
Im Querysave doch nicht, sonst bräuchte ich doch das "call uidoc.save" nicht mehr  ???
Wahrscheinlich meinst Du in einem Knopf, aber den muss der User ja nicht drücken  ???

Im Moment wüsste ich nicht, wo ich den Code einfügen sollte...

Matthias
Titel: Re: Input-Validierung - Bug oder Feature?
Beitrag von: Glombi am 18.10.06 - 14:44:50
Ok, also mach aus
call uidoc.Save
ein
call uidoc.Refresh

Nur dann darf in der Eingabevaliderung kein
!@IsDocBeingRecalculated
vorkommen, was man gelegentlich ja macht.

Andreas