Schani: Datum überprüfen

Bevor ich virtuell geschlagen werde, dass es so einen Thread schon gibt: ich habe im Archiv nachgeschlagen, nur funktionierten diese Lösungen bei mir nicht.

Bei einer Lösung wurde die Funktion isDate vorgeschlagen. Hier bekomme ich immer die Fehlermeldung "Object expected". (Welche Argumente verlangt isDate ?).
Ich möchte auf jeden Fall einen String überprüfen, ob es sich um ein gültiges Datumsformat handelt.
Codebeispiel:

datum[1] = Request.Form("datum1")
datum[2] = Request.Form("datum2")
datum[3] = Request.Form("datum3")
datum[4] = Request.Form("datum4")

if (!isDate(datum[1])) {...}

Vielleicht kann mir wer weiter helfen,

ein verzweifelter Schani

P.S. Ich programmiere in JScript.

  1. Hallo Schani,

    ich verstehe nicht. Du sagst, dass du mit Jscript programmierst aber
    die drei erste Zeilen sind doch ASP.
    In ASP selbst gibt es den Befehl ISDATE().

    var = ISDATE(...). var ist entweder TRUE oder FALSE.
    So kannst du dein Format überprüfen.

    Sohail

    1. Hi ihr zwei,

      zur Aufklärung:

      ASP ist _keine_ Sprache, ASP-Seiten kann man entweder in VBScript oder in JScript nprogrammieren.

      IsDate ist VBScript, deshalb funzt es natürlich als JScript auch nicht.

      Ein Äquivalent dazu in JScript kenne ich nicht (lass mich aber durchaus korrigieren, falls ich da Lücken haben sollte), d.h. Du müsstest Dir eine Funktion, die die Gültigkeit eines Datums ermittelt, selber mit Hilfe des Date-Objektes <../../tq.htm> bauen.

      Einfacher ist es, die Sache in VBScript zu regeln...

      Grüße,

      Utz

    2. Hallo Sohail,

      ich verstehe nicht. Du sagst, dass du mit Jscript programmierst aber
      die drei erste Zeilen sind doch ASP.

      die ersten 3 Zeilen sind nicht ASP, sondern JScript.
      ASP selbst ist keine Scriptsprache, sondern nur eine Technologie,
      mit der Scripte serverseitig ausgeführt werden.
      Man kann z.b: VBScript, JScript, Perl, ... verwenden.

      In ASP selbst gibt es den Befehl ISDATE().

      In ASP gibt es diesen Befehl nicht, nur in VBScript. In JScript gibt
      es ihn (in dieser Form) auch nicht.

      var = ISDATE(...). var ist entweder TRUE oder FALSE.
      So kannst du dein Format überprüfen.

      Man kann sich hier aber mit "Date.parse(DatumWert)" helfen.
      Diese Funktion gibt entweder einen Fehler zurück, wenn "DatumWert"
      kein gültiges Datum ist oder die Anzahl der Milisekunden
      seit 01.01.1970 zurück. Weiteres in der IIS-Hilfe.
      (Allerdings bin ich kein JScript-Profi, daher kann es auch bessere
      Möglichkeiten geben)

      Tschau, Stefan

      1. Vielen Dank aber das Problem ist Date.Parse verlangt, glaub ich ein Datumsobjekt als Argument. Mit einem String gibts dasselbe Problem. Ich müsste zuerst einmal einen String der Form "12/12/00" in ein Datumsobjekt umwandeln. SQL hat mit dieser Art der Darstellung keine Probleme. Das Problem ist nur dass, wenn ein Benutzer zum Beispiel Buchstaben eingibt, ich eine SQL-Fehlermeldung bekomme und deshalb möchte ich das Datum vorher überprüfen.

        Also, kann man einen String in ein Datumsobjekt umwandeln bzw. überprüfen, ob es sich um ein Datumsobjekt handelt.

        Vielen Dank im voraus

        Ciao
        Schani

        Hallo Sohail,

        ich verstehe nicht. Du sagst, dass du mit Jscript programmierst aber
        die drei erste Zeilen sind doch ASP.

        die ersten 3 Zeilen sind nicht ASP, sondern JScript.
        ASP selbst ist keine Scriptsprache, sondern nur eine Technologie,
        mit der Scripte serverseitig ausgeführt werden.
        Man kann z.b: VBScript, JScript, Perl, ... verwenden.

        In ASP selbst gibt es den Befehl ISDATE().

        In ASP gibt es diesen Befehl nicht, nur in VBScript. In JScript gibt
        es ihn (in dieser Form) auch nicht.

        var = ISDATE(...). var ist entweder TRUE oder FALSE.
        So kannst du dein Format überprüfen.

        Man kann sich hier aber mit "Date.parse(DatumWert)" helfen.
        Diese Funktion gibt entweder einen Fehler zurück, wenn "DatumWert"
        kein gültiges Datum ist oder die Anzahl der Milisekunden
        seit 01.01.1970 zurück. Weiteres in der IIS-Hilfe.
        (Allerdings bin ich kein JScript-Profi, daher kann es auch bessere
        Möglichkeiten geben)

        Tschau, Stefan

        1. Alles zurück, es geht, hab mich nur vertippt !!!!

          Also mit "Date.parse(datestring)" können Strings überprüft werden, ob sie Datumsobjekte sind !

          Danke nochmals
          Schani

          Vielen Dank aber das Problem ist Date.Parse verlangt, glaub ich ein Datumsobjekt als Argument. Mit einem String gibts dasselbe Problem. Ich müsste zuerst einmal einen String der Form "12/12/00" in ein Datumsobjekt umwandeln. SQL hat mit dieser Art der Darstellung keine Probleme. Das Problem ist nur dass, wenn ein Benutzer zum Beispiel Buchstaben eingibt, ich eine SQL-Fehlermeldung bekomme und deshalb möchte ich das Datum vorher überprüfen.

          Also, kann man einen String in ein Datumsobjekt umwandeln bzw. überprüfen, ob es sich um ein Datumsobjekt handelt.

          Vielen Dank im voraus

          Ciao
          Schani

          Hallo Sohail,

          ich verstehe nicht. Du sagst, dass du mit Jscript programmierst aber
          die drei erste Zeilen sind doch ASP.

          die ersten 3 Zeilen sind nicht ASP, sondern JScript.
          ASP selbst ist keine Scriptsprache, sondern nur eine Technologie,
          mit der Scripte serverseitig ausgeführt werden.
          Man kann z.b: VBScript, JScript, Perl, ... verwenden.

          In ASP selbst gibt es den Befehl ISDATE().

          In ASP gibt es diesen Befehl nicht, nur in VBScript. In JScript gibt
          es ihn (in dieser Form) auch nicht.

          var = ISDATE(...). var ist entweder TRUE oder FALSE.
          So kannst du dein Format überprüfen.

          Man kann sich hier aber mit "Date.parse(DatumWert)" helfen.
          Diese Funktion gibt entweder einen Fehler zurück, wenn "DatumWert"
          kein gültiges Datum ist oder die Anzahl der Milisekunden
          seit 01.01.1970 zurück. Weiteres in der IIS-Hilfe.
          (Allerdings bin ich kein JScript-Profi, daher kann es auch bessere
          Möglichkeiten geben)

          Tschau, Stefan