Domino 9 und frühere Versionen > ND6: Administration & Userprobleme
Validierung für Date/Time Feld
Marinero Atlántico:
Ich finde auch Bernhards Lösung besser, weil kürzer.
@Tina: hast du:
--- Code: ---If Not (IsDate (NotesDocument.Datumsfeld (0))) then
Messagebox "Gemecker"
Else
'Mach weiter
End If
--- Ende Code ---
oder
--- Code: ---If Not (IsDate (NotesDocument.Datumsfeld)) then
Messagebox "Gemecker"
Else
'Mach weiter
End If
--- Ende Code ---
? Finde den Unterschied ;D
Das Problem bei Script-Validierung ist, dass Validierungsregeln
- je länger die Lebensdauer des Projekts ist und
- je banknäher eine Organisation ist (langjährige empirische Erfahrung)
immer komplizierter werden.
Mich hat z.B. heute morgen auch gerade wieder so eine Validierung mit
--- Code: ---if
if
if trim$(doc.xxxFeld(0)) <> "" OR trim$(doc.yyyFeld(0)) <> "" OR trim$(doc.zzzFeld(0)) <> "" then
--- Ende Code ---
über 1 STunde aufgehalten, weil da nach dem zzzFeld ="" statt <> "" stand. (Folge von copy und paste).
Ich hab schon einige Validierungsframeworks gesehen, die im Selbstknieschuss endeten, aber vielleicht sollte man daran nochmal arbeiten.
Gruß Axel
Tina:
@koehlerbv:
Fehlermeldung: Variant does not contain a container.
@Axel:
Wie gesagt es funktioniert nicht mit isDate().
Hab jetzt das Script noch etwas gekürzt:
varDatTest = doc.kbTermin
If Not Isempty(varDatTest) Then
If doc.kbtermin(0) = "" Then
strValText = strValText + "Termin -> Das Datum darf nicht leer sein" & Chr$(13)
Elseif doc.kbtermin(0) < Today Then
strValText = strValText + "Termin -> Das Datum darf nicht in der Vergangenheit liegen" & Chr$(13)
End If
Else
strValText = strValText + "Termin -> Bitte geben Sie einen gültigen Datumswert ein" & Chr$(13)
End If
koehlerbv:
Evtl. weiss ich, wo es bei Dir hakt: Wurde ein Wert eingegeben, der aussieht, wie ein Datum ("31.02.2004"), dann wird das Item von Notes nicht gefüllt - es ist ja kein Wert, der in ein Datumsfeld passt.
Daher schön kurz (so wie el Marinero eben schon schrieb):
If IsEmpty (NotesDocument.Datumsfeld) then
Messagebox "Gemecker"
Exit Sub
Else
If Not (IsDate (NotesDocument.Datumsfeld (0))) then
Messagebox "Gemecker"
Else
'Deine weiteren Prüfungen - jetzt isses ein Datum !
End If
End If
HTH,
Bernhard
Tina:
@bernhard:
genau so ist es! Ich habs die ganze Zeit mit nem ungültigen Datum a la "32.10.2004" getestet.
;)
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln