Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Lancelot am 29.01.14 - 09:44:35

Titel: Schließen einer Dialogbox bei Feldvalidierung verhindern.
Beitrag von: Lancelot am 29.01.14 - 09:44:35
Hallo Experten,

ich verzweifle seit einiger Zeit an einer Dialogbox.
meine Dialogbox zeigt eine Maske mit einem Layoutbereich an, die über einen Button aus einer Ansicht geöffnet wird..
Der Layoutbereich enthält zudem ein Felder "Anrede" und ein Feld "Name des Kunden"
Der Feld "Name des Kunden" soll zu einem Pflichtfeld werden, wenn im Feld "Anrede" die Werte  "Sehr geehrte Frau", oder "Sehr geehrter Herr" ausgewählt wurde.
Das Feld "Name der Kunden" soll aber in der Dialogbox das letzte Feld sein und es soll auch möglich sein, ohne aus dem Feld zu springen auf den OK Button zu klicken.

Nun mein Problem:
Sobald ich auf OK klicke, wird das Feld zwar validiert, doch sobald ich auf die Meldung klicken wenn das Feld leer ist, wird die Dialogbox immer geschlossen.
Wie kann ich verhindern, dass die Dialogbox bei leerem Feld "Name des Kunden" zwar die Meldung bringt, aber nicht geschlossen wird um den Fehler korrigieren zu können?

Habe es mit Return, Exit Sub, Stop im QueryClose, im Feld Exeting, bei der Feld Validierung versucht, nichts klappt.

Bräuchte also Euer geballtes Wissen damit ich das Problem in den Griff zu kriegen und um meinen Nerven zu schonen.  ;D

Vielen Dank schon mal als Vorschuss an alle.  ;)
Titel: Re: Schließen einer Dialogbox bei Feldvalidierung verhindern.
Beitrag von: Glombi am 29.01.14 - 09:48:45
Die Validierung muss ins QueryClose und im negativen Fall muss dort ein Continue = false programmiert werden, damit die Dialogbox nicht geschlossen wird.
Hier mal ein Bsp.

if not Source.DialogBoxCanceled then
if Source.FieldGetText("Name") = "" then
msgbox "Bitte den Namen eintragen!",0+16,"Eingabevalidierung"
continue = false
end if

end if
Titel: Re: Schließen einer Dialogbox bei Feldvalidierung verhindern.
Beitrag von: Lancelot am 29.01.14 - 10:14:15
Hallo Glombi

und vielen herzlichen Dank.
Das "continue = false" hat mir gefehlt.
Darauf wäre ich wahrscheinlich in Jahren nicht drauf gekommen.

Danke, jetzt funktioniert in meiner Dialogbox alle bestens.  ;D  ;D