Autor Thema: Validierungsformel in Datumsfeld  (Gelesen 3312 mal)

bws

  • Gast
Validierungsformel in Datumsfeld
« am: 26.04.05 - 13:08:35 »
Hallo,
ich habe in meiner Maske ein Datumsfeld (EmpBeginDate), beim speichern soll geprüft werden, ob ein Datum eingegeben ist und ob das eingegebene Datum 2 Tage in der Zukunft liegt. Leider kommt immer folgende Fehlermeldung beim speichern:

---Feld hat nicht der Validierungsformel entsprochen---

Die Meldung kommt auch wenn das richtige Datum im Feld steht.
Ich habe folgende Formel bei der Eingabevalidierung stehen:

@If(@ThisValue=NULL;
@Failure("Um den Mitarbeiter korrekt anlegen zu können geben Sie bitte das Eintrittsdatum an");
EmpBeginDate<@Tomorrow;
@Failure("Das Eintrittsdatum muss mind. zwei Werktage in der Zukunft liegen!");
@Success)

Danke für eure Hilfe im Voraus
Martin

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Validierungsformel in Datumsfeld
« Antwort #1 am: 26.04.05 - 13:12:26 »
Die Fehlermeldung beim Speichern weist zunächst erstmal darauf hin, dass sich im QuerySave noch auszuführender Code befindet - dieser sollte auch Validierungsfehler abfangen.

Die Formel sollte lauten:
@If (!@IsTime (EmpBeginDate);
@Failure("Um den Mitarbeiter korrekt anlegen zu können geben Sie bitte das Eintrittsdatum an");
EmpBeginDate<@Tomorrow;
@Failure("Das Eintrittsdatum muss mind. zwei Werktage in der Zukunft liegen!");
@Success)

HTH,
Bernhard

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Validierungsformel in Datumsfeld
« Antwort #2 am: 26.04.05 - 13:19:50 »
« Letzte Änderung: 26.04.05 - 13:40:42 von Thomas Schulte »
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Validierungsformel in Datumsfeld
« Antwort #3 am: 26.04.05 - 17:02:38 »
Crossposting ist ja wohl nicht das einzige Problem, das der/die/das "bws" hat - wenn man dem Link zu Spottlicht mal folgt.

Und NULL ist in Formelsprache kein reserviertes Schlüsselwort mit der Bedeutung wie beispielsweise in LS. Der Vergleich
@If(@ThisValue=NULL; ...
vergleicht den Inhalt des aktuellen Feldes mit dem des Feldes oder der temp. Variablen namens NULL. Da es diese in der Regel nicht gibt, entspricht der Vergleich diesem hier:
@If(@ThisValue = ""; ...

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Validierungsformel in Datumsfeld
« Antwort #4 am: 26.04.05 - 17:19:25 »
Allerdings, Martin, nebst dem, dass Du die Forumsregeln (siehe Button oben), denen Du beim Registrieren ausdrücklich zugestimmt hast, nicht beachtest, hast Du Dich mit einem absoluten Profi eingelassen .... nebst der eher unhöflichen Ausdrucksweise hinterlässt das einen ausgesprochen schlechten Eindruck. Bleibt für Dich zu hoffen, dass Dein Brötchengeber oder Deine Kunden den Thread in Spot(t)light nicht zu sehen bekommen ....
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re: Validierungsformel in Datumsfeld
« Antwort #5 am: 26.04.05 - 18:00:33 »
Dazu aber noch eine Frage / Anmerkung:

Ich hab mir interessehalber grade mal einen Agenten gebaut mit folgendem Code:

tmp := @Prompt([OkCancelEdit];"Test";"Hier was eingeben:";"Text");

@If(tmp=NULL;@Prompt([Ok];"";"Leeres Eingabefeld");@Prompt([Ok];"";"Eingegebener Wert: " + tmp));

Der funkt "zuverlässig". Also wenn die tmp-Variable "" ist (in dem Fall also NULL) dann springt der Agent immer in das "Leere Eingabefeld".

Wenn ich statt tmp_NULL ein @IsNull(tmp) einsetze auch. Ist das nun Zufall, oder einfach undokumentiert (ich hab auf jeden Fall nix in der Hilfe gefunden - nur im Bezug auf NULL und LS)?
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Validierungsformel in Datumsfeld
« Antwort #6 am: 26.04.05 - 18:06:34 »
Definier doch einfach mal vorne dran
NULL := "EinWert"
und schau nach was dann passiert.  8)

Die Erklärung dazu hat Bernhard ja schon gegeben.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Validierungsformel in Datumsfeld
« Antwort #7 am: 26.04.05 - 18:09:14 »
Nun, der Inhalt der Variablen "NULL" ist nix - die gibt es ja gar nicht. Die Formelsprache interpretiert das immer als "" (das ist ja auch bei einem leeren Datums-/Zeitfeld so).

@IsNull macht selbiges - es läuft also immer auf den Vergleich zwischen tmp-Inhalt und "" hinaus.

Ganz sauber ist das natürlich nicht, da NULL ja an sich nicht unbedingt was mit einem Leerstring zu tun hat.

Bernhard

PS: @Thomas - genau das ist der Beweis, wenn man sich von der Bedeutung von "NULL" in Formelsprache überzeugen will. Vice versa kann man das dann mal mit LS probieren (oder vielen anderen Programmiersprachen)  ;D

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Validierungsformel in Datumsfeld
« Antwort #8 am: 26.04.05 - 18:10:28 »
Nur Martin rührt sich nimmer  ;D
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re: Validierungsformel in Datumsfeld
« Antwort #9 am: 26.04.05 - 18:19:20 »
Ok, nun hab auch ich das verstanden.

Weil NULL in meinem Beispiel nicht definiert ist, ist sein Wert beim Aufruf in dem @if auch gleich NIX, daher funkt das.

Über die Sache mit dem Leerstring bin ich bei meinem ersten Posting auch schon gestolpert. Null ist ja NIX, während "" ein leerer String ist
(OT: Ist ein "leerer String" also die freundlichere Umschreibung für "Keinen Arsch in der Hose haben"?  ;D)
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Validierungsformel in Datumsfeld
« Antwort #10 am: 26.04.05 - 18:21:21 »
Kann man so sagen
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Validierungsformel in Datumsfeld
« Antwort #11 am: 26.04.05 - 18:30:24 »
Ist ein "leerer String" also die freundlichere Umschreibung für "Keinen Arsch in der Hose haben"?

Wenn demnächst mal jemand "Du alter Leerstring !" sagt, dann weiss ich Bescheid  ;D

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Validierungsformel in Datumsfeld
« Antwort #12 am: 26.04.05 - 19:04:44 »
Nur Martin rührt sich nimmer  ;D

Wundert Dich das?
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Validierungsformel in Datumsfeld
« Antwort #13 am: 26.04.05 - 19:10:26 »
Nur Martin rührt sich nimmer ;D

Wundert Dich das?
Nein, eigentlich nicht.  ::)
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Validierungsformel in Datumsfeld
« Antwort #14 am: 26.04.05 - 19:40:52 »
Hi,

ich hab' mir mal die Postings in Spot(t)light durchgelesen. Mein lieber Mann, der muss wohl mit der Enterprise durch die Kinderstube gerast sein. Wo lernt man denn solche Umgangsformen?

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Validierungsformel in Datumsfeld
« Antwort #15 am: 26.04.05 - 20:12:16 »
Allerdings!
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Glombi

  • Gast
Re: Validierungsformel in Datumsfeld
« Antwort #16 am: 26.04.05 - 21:31:01 »
Genau
+1

Die Antworten in Spottlight sind ja auch nicht das Gelbe vom Ei, oder?

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Validierungsformel in Datumsfeld
« Antwort #17 am: 26.04.05 - 22:32:59 »
Das ist halt Spottlight ... Solche "Parties" sind da ja nicht gerade die Ausnahme.

Die richtigen Antworten hat's jedenfalls hier gegeben - inclusive tiefschürfender weiterführender Analyse und Spottlight-Manöverkritik  ;D

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz