Gültigkeitsdatum eines Formulars beim Aufruf prüfen
Verfasst: 27.07.2012, 14:44
Hallo,
ich habe folgendes Problem: beim Erzeugen eines Formulars gebe ich ihm über die Schnittstelle ein Gültigkeitsdatum mit (das auch angezeigt werden soll).
Jedes Mal wenn das Formular geöffnet/angezeigt wird, soll das aktuelle Tagesdatum ermittelt werden und mit dem Gültigkeitsdatum verglichen werden. Liegt das Tagesdatum nach dem Gültigkeitsdatum, ist das Formular veraltet und soll nicht mehr eingabebereit sein.
Das Tagesdatum berechne ich so:
data.PAGE_ACTIVITY_REPORT.REPLY_SEND_TO.CURRENT_DATE::initialize - (FormCalc, client)
$.rawValue = num2date(date(), DateFmt(2))
Ich habe ein Feld CURRENT_DATE, das im Formular unsichtbar ist und das Tagesdatum enthalten soll. (Ich habe hierzu nur eine Formcalc-Funktion gefunden.)
Im Feld VALID_UNTIL_DATE ist das Gültigkeitsdatum enthalten, bei jedem Aufruf des Formulars wird die Prüfung aufgerufen:
data.PAGE_ACTIVITY_REPORT.REPLY_SEND_TO.VALID_UNTIL_DATE::initialize - (JavaScript, both)
Scripts.checkFormValidity(CURRENT_DATE, this);
// Check Form Validity
function checkFormValidity(aCurrentDate, aValidUntilDate){
var nCurrentDate = util.scand("yyyy-mm-dd", aCurrentDate.rawValue);
var nValidUntilDate = util.scand("yyyy-mm-dd", aValidUntilDate.rawValue);
if(nCurrentDate > nValidUntilDate){
data.PAGE_ACTIVITY_REPORT.access = "readOnly";
}
else {
data.PAGE_ACTIVITY_REPORT.access = "open";
}
}
Mein Problem ist, dass nCurrentDate den Wert null bekommt und ich nicht weis, was ich falsch mache.
Zum Testen hatte ich die Prüfung in dem Exit-Event des Feldes für das Tagesdatum
aufgerufen, da hatte es funktioniert. Ich vermute, dass nach Eingabe eines Datums dieses anders formattiert wurde. Ich weis leider nicht, wie ich das von Hand hinbekomme.
Für Tipps wäre ich dankbar!!!
ich habe folgendes Problem: beim Erzeugen eines Formulars gebe ich ihm über die Schnittstelle ein Gültigkeitsdatum mit (das auch angezeigt werden soll).
Jedes Mal wenn das Formular geöffnet/angezeigt wird, soll das aktuelle Tagesdatum ermittelt werden und mit dem Gültigkeitsdatum verglichen werden. Liegt das Tagesdatum nach dem Gültigkeitsdatum, ist das Formular veraltet und soll nicht mehr eingabebereit sein.
Das Tagesdatum berechne ich so:
data.PAGE_ACTIVITY_REPORT.REPLY_SEND_TO.CURRENT_DATE::initialize - (FormCalc, client)
$.rawValue = num2date(date(), DateFmt(2))
Ich habe ein Feld CURRENT_DATE, das im Formular unsichtbar ist und das Tagesdatum enthalten soll. (Ich habe hierzu nur eine Formcalc-Funktion gefunden.)
Im Feld VALID_UNTIL_DATE ist das Gültigkeitsdatum enthalten, bei jedem Aufruf des Formulars wird die Prüfung aufgerufen:
data.PAGE_ACTIVITY_REPORT.REPLY_SEND_TO.VALID_UNTIL_DATE::initialize - (JavaScript, both)
Scripts.checkFormValidity(CURRENT_DATE, this);
// Check Form Validity
function checkFormValidity(aCurrentDate, aValidUntilDate){
var nCurrentDate = util.scand("yyyy-mm-dd", aCurrentDate.rawValue);
var nValidUntilDate = util.scand("yyyy-mm-dd", aValidUntilDate.rawValue);
if(nCurrentDate > nValidUntilDate){
data.PAGE_ACTIVITY_REPORT.access = "readOnly";
}
else {
data.PAGE_ACTIVITY_REPORT.access = "open";
}
}
Mein Problem ist, dass nCurrentDate den Wert null bekommt und ich nicht weis, was ich falsch mache.
Zum Testen hatte ich die Prüfung in dem Exit-Event des Feldes für das Tagesdatum
aufgerufen, da hatte es funktioniert. Ich vermute, dass nach Eingabe eines Datums dieses anders formattiert wurde. Ich weis leider nicht, wie ich das von Hand hinbekomme.
Für Tipps wäre ich dankbar!!!