Datumsfeld Vergangenheit

Alles was sich mit dem Thema dynamische XML Formulare auf Basis des LiveCycleDesigners beschäftigt
Antworten
Hormann
Beiträge: 100
Registriert: 09.08.2010, 11:42

Datumsfeld Vergangenheit

Beitrag von Hormann » 02.09.2010, 09:11

Hallo Leute,

irgendwie komme ich mit mein Bestellformular nicht voran! Habe nun noch ein anderes riesiges Problem.

Ich möchte das man sein Geburtstag eingeben muss und der Wert in der Vergangenheit liegen muss. Das Funktioniert auch soweit (mit Überprüfung, Fehelrmeldung und automatischer Löschung), über den Kalender, aber leider ist es möglich einen Wert z.B. 22.33.4444 händig einzugeben, ohne Fehlermeldung oder automatische Löschung!

Hat jemand eine Idee an was das liegt?

Danke euch

Stephanie

Pss.: Wenn ich Fertig bin poste ich das komplette Formular!

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Datumsfeld Vergangenheit

Beitrag von nele_sonntag » 02.09.2010, 10:35

Hallo Stephanie,

Du könntest schon mal unter Objekt - Feld - Muster NICHT NUR bei Anzeige sonder auch bei Bearbeiten und Überprüfen Dein Datenmuster eingeben,

LG Mandy

Hormann
Beiträge: 100
Registriert: 09.08.2010, 11:42

Datumsfeld Vergangenheit

Beitrag von Hormann » 02.09.2010, 11:19

[user=3251]Oh[/user] Danke Mandy,

das hatte ich übersehen, aber nun bekomm ich zwar eine Fehlermeldung, aber die Fehleingaben bleiben trotzdem drinne stehn.

Danke

Stephanie
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Datumsfeld Vergangenheit

Beitrag von nele_sonntag » 02.09.2010, 14:52

Leider bin ich mit den Datums-Funktionen nicht so gut vertraut.
Ich würde noch versuchen, abzuprüfen, wenn das Feld nicht dem Datumsformat entspricht, dass Du es auf Null zurücksetzt. Irgendwie so etwas in der Richtung?

Code: Alles auswählen

if(this.rawValue != util.scand("dd-mm-yyyy", this.rawValue))
{
xfa.host.messageBox("Bitte so eingeben TT.MM.JJJJ. Danke.","Tipp",1,0);
this.rawValue = null;
}
LG Mandy

Hormann
Beiträge: 100
Registriert: 09.08.2010, 11:42

Datumsfeld Vergangenheit

Beitrag von Hormann » 03.09.2010, 05:14

Danke Mandy,

aber das funktioniert leider nicht so!

Bzw. vielleicht  habe ich es auch Falsch reingesetzt! Bei change oder wo wolltest du das hin haben? Bei Exit liegt bereits mein Script was die Vergangheit überprüft!

exit:
[fontsize=2][fontsize=2]
if[/fontsize]
[/fontsize]
[fontsize=2](Heute.rawValue [/fontsize][fontsize=2][fontsize=2]!=[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]null[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]&[/fontsize][/fontsize][fontsize=2] this.rawValue [/fontsize][fontsize=2][fontsize=2]!=[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]null[/fontsize][/fontsize][fontsize=2]){

[/fontsize][fontsize=2][fontsize=2]var[/fontsize][/fontsize][fontsize=2] nVergang [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] Number(util.scand("yyyy-mm-dd"[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] this.rawValue));

[/fontsize][fontsize=2][fontsize=2]var[/fontsize][/fontsize][fontsize=2] nAktuell [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] Number(util.scand("yyyy-mm-dd"[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] Heute.rawValue));[/fontsize][fontsize=2][fontsize=2]
[/fontsize]
[/fontsize]
[fontsize=2]
[/fontsize][fontsize=2][fontsize=2]var[/fontsize][/fontsize][fontsize=2] nDifferenz [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] Math.floor((nVergang [/fontsize][fontsize=2][fontsize=2]-[/fontsize][/fontsize][fontsize=2] nAktuell) [/fontsize][fontsize=2][fontsize=2]/[/fontsize][/fontsize][fontsize=2] 1000 [/fontsize][fontsize=2][fontsize=2]/[/fontsize][/fontsize][fontsize=2] 60 [/fontsize][fontsize=2][fontsize=2]/[/fontsize][/fontsize][fontsize=2] 60 [/fontsize][fontsize=2][fontsize=2]/[/fontsize][/fontsize][fontsize=2] 24);

[/fontsize][fontsize=2][fontsize=2]if[/fontsize][/fontsize][fontsize=2](nDifferenz [/fontsize][fontsize=2][fontsize=2]>[/fontsize][/fontsize][fontsize=2] 1){

xfa.host.messageBox("Das Datum darf nicht in der Vergangheit liegen. Bitte geben Sie ein gültiges Datum ein!"[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] "Hinweis"[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] 0[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] 1);

this.rawValue[/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2]"";

}[/fontsize][fontsize=2][fontsize=2]
[/fontsize]
[/fontsize]
[fontsize=2]
[/fontsize]}
 

Soll dein Script hier mit rein gebaut werden oder hast du noch eine andere Idee!:)

Gruß Stephanie

Hormann
Beiträge: 100
Registriert: 09.08.2010, 11:42

Datumsfeld Vergangenheit

Beitrag von Hormann » 03.09.2010, 05:20

Ach beinahe hätte ich es Vergessen:

Das Feld komplett zu Leeren ohne Null dann muss das so lauten:
[fontsize=2]
[fontsize=2]
this.rawValue[/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2]"";[/fontsize][/fontsize][fontsize=2]
 

Pss.: Mandy das wussten Sie bestimmt schon, habe es nur für die anderen gepostet! weil es in dem Tread ja darum geht den Inhalt des Feld anschließend zu löschen![/fontsize]

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Datumsfeld Vergangenheit

Beitrag von armine » 05.09.2010, 19:05

Hallo,

im beigefügten PDF steckt eine überarbeitete Eingaberoutine (gültiges Datum vom 1.1.1901 bis 31.12.2099), die ich um eine Prüfung für die Plausibilität des Geburtsdatums erweitert habe.
 
Gruß
armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Hormann
Beiträge: 100
Registriert: 09.08.2010, 11:42

Datumsfeld Vergangenheit

Beitrag von Hormann » 08.09.2010, 08:07

Danke Armine,

nach langen testen  habe ich es jetzt mit deiner Lösung hinbekommen!

Danke :D

 

Gruß

Stephanie

Antworten