Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: ReiTho am 02.12.05 - 08:41:30
-
Habe folgendes Problem:
Ein Feld in meinem Formular ist als Typ Names und Editable, als Choices habe ich Use Address dialog for choice. Dieses Feld ist ein Mussfeld. Mit @Failure oder @Promt([OKCancelEdit]; geht des nicht so richtig. Wie kann ich elegant Abfangen wenn nichts ausgewählt wurde? Eventuell mit der @DoWhile Funktion?
-
mit @If, @ThisValue, @Failure und @Success sollte es machbar sein.
In etwa so:
@If(@ThisValue = ""; @Failure("Es muss etwas eingetragen werden!"); @Success)
-
Du musst für diesen Fall eine Formel in der Eingabevalidierung des Feldes schreiben. Für ein leeres Feld sollte die in etwa so aussehen:
@If ( DeinFeld = "" ; @Failure("Fehlermeldung");@Success)
EDIT: Doppelt hält besser...
-
Wo hast du da ein Problem. Dazu gibt es die Input Validation und da stellst du einfach ein @if(Feld = "";@Failure("Blabla");@success)
Drei Einschläge pro Minute. Da soll noch einmal einer Sagen hier wird nicht geholfen.
-
Ich hab ja auch schon die @If Abfrage mit @Failure in der Feldvalidierung gemacht, aber wenn dann der Fehler abgefangen ist, wird ja schon die nächste Validierungsformel im Formular abgefragt. Er sollte das aber eigentlich nicht machen, sondern so lange auf die richtige Eingabe im Feld bestehen bis die Condition true ist.
-
Dann solltest du eine zentrale Validierung, z.B. im QuerySave, durchführen, die immer erst das nächste Feld validiert, wenn das vorhergehende korrekt ist. Ist ein Feld nicht korrekt, so wird in das betreffende Feld gesprungen. Wahrscheinlich musst du dann aber Skript benutzen...
-
mit @Failure kommst du nicht über das Feld, ohne die richtigen Einträge gemacht zu haben. Im QuerySave braust du da nix zu machen.
Ich persönlich halte nicht viel von den @Failure-Orgien in einem Dokument, da verliert der Anwender irgendwann die Lust, deshalb prüffe ich alle Felder im QuerySave und bringe dann nur einen Dialog, der alle fehlerhaften Felder aufführt und springe ins 1. fehlerhafte Feld.
-
QureySave hört sich gut an, nur ich kann noch nicht scripten... :'(
-
ich glaub ich werds mit ViewRefreshFields machen und erst dann Speichern zulassen.
-
mit @Failure kommst du nicht über das Feld, ohne die richtigen Einträge gemacht zu haben. Im QuerySave braust du da nix zu machen.
Ich persönlich halte nicht viel von den @Failure-Orgien in einem Dokument, da verliert der Anwender irgendwann die Lust, deshalb prüffe ich alle Felder im QuerySave und bringe dann nur einen Dialog, der alle fehlerhaften Felder aufführt und springe ins 1. fehlerhafte Feld.
In !!Help!! gibt es dazu eine komplett konfigurierbare InputValidation. Die auch noch relativ einfach in andere Datenbanken einbindbar ist.