• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Formularüberprüfung: Datum muss in der Zukunft liegen

S

schlechtwetter

Guest
Hallo,

auf meiner Seite können Kunden über ein Kontaktformular eine Anfrage zu Veranstaltungen stellen.
Leider sind viele Kunden so dusselig und geben in das Feld "Datum der Veranstaltung" das aktuelle Datum an. :rolleyes:

Nun möchte ich, dass vor dem Absenden des Formulars überprüft wird, ob das eingegebene Datum in der Zukunft liegt. Und zwar immer 2 Wochen nach dem aktuellem Datum (Da Veranstaltungen spätestens 2 Wochen vorher angefragt werden müssen). Würde also jemand heute (20.08.17) eine Anfrage stellen, dürfte das eingegebene Datum frühstens der 03.09.17 sein. Wenn nicht, soll eine Fehlermeldung erscheinen.

Ich habe bereits Validierungen implementiert, die einige Felder auf (korrekte) Eingabe überprüfen, und auch das Datumsfeld selbst wird überprüft, ob es leer oder gefüllt ist. Aber bei diesem Datumsproblem bin ich echt ratlos. :confused:

Dank für eure Hilfe

Liebste Grüße

Schlechtwettersusi
 
Code:
	var heute= new Date();    /*heute*/
	var minDatum= new Date(-----Eingegebenes Datum-----);
	if ( minDatum.getTime()>= (heute.getTime()+1209600000))     /*getTime() istDatum in Millisek. ---1209600000ms sind 14 Tage */
	{
		alert("passt");
	}
	else
	{
		alert("passt nicht");
	}
 
Danke dafür. Habs versucht, haut irgendwie nicht hin. Vielleicht mach ich irgendetwas falsch? Mein Check-das-Code sieht im Moment so aus:

Code:
<script language="JavaScript">

    var elem = document.getElementById('submit');
    elem.addEventListener('click', chkFormular);
 
function chkFormular() {
  if (document.Formular.nachname.value == "") {
alert("Bitte Nachname angeben!");
document.Formular.nachname.focus();
    return false;
  }
  if (document.Formular.email.value == "") {
    alert("Bitte Ihre E-Mail-Adresse eingeben!");
    document.Formular.email.focus();
    return false;
  }
  if (document.Formular.email.value.indexOf("@") == -1) {
    alert("Das ist keine gültige E-Mail-Adresse!");
    document.Formular.email.focus();
    return false;
  }
  if (document.Formular.hidden.value != "") {
alert("Spamschutz aktiviert!");
    return false;
  }
}
</script>

Ich weiß nicht genau, wie ich deinen Code da reinbasteln muss (Dass ich das Formular erstellt habe, ist schon eine ganze Weile her, vll sind mir einige Vorgehensweisen bereits entfallen :) )
 
habe nochmal nach gesehen, habe ich nicht festgelegt. ich folgere, dass das nötig ist? :)
 
Naja, vielleicht so:
Code:
<script language="JavaScript">

    var elem = document.getElementById('submit');
    elem.addEventListener('click', chkFormular);
 
function chkFormular() {
  if (document.Formular.nachname.value == "") {
alert("Bitte Nachname angeben!");
document.Formular.nachname.focus();
    return false;
  }
  if (document.Formular.email.value == "") {
    alert("Bitte Ihre E-Mail-Adresse eingeben!");
    document.Formular.email.focus();
    return false;
  }
  if (document.Formular.email.value.indexOf("@") == -1) {
    alert("Das ist keine gültige E-Mail-Adresse!");
    document.Formular.email.focus();
    return false;
  }
  if (document.Formular.hidden.value != "") {
alert("Spamschutz aktiviert!");
    return false;
  }
       [B] var heute= new Date();    /*heute*/
	var EingabeDatum= new Date(document.Formular.Datum.value);     /* natürlich vorausgesetzt, das Format passt für eine "Date-Variable*/
	if ( EingabeDatum.getTime()>= (heute.getTime()+1209600000))     /*getTime() istDatum in Millisek. ---1209600000ms sind 14 Tage */
	{
		alert("passt"); /* oder eben dein Datum weiter verarbeiten*/
	}
	else
	{
		alert("Datum muss frühestens xx.xx.xxxx sein");
	}[/B]
if (document.Formular.hidden.value != "") {
alert("Spamschutz aktiviert!");
    return false;
  }
}
</script>
 
Zuletzt bearbeitet:
Ich muss mich entschuldigen. Ich stecke nebenbei mitten in der Prüfungsphase und mache das mit der Webseitengestaltung nur nebenbei für die Firma meines Vaters. Daher habe ich bisher auch nicht weiter reagiert. So wie das alles wieder etwas entspannter wird, gehe ich das wieder an.

Danke für eure Hilfe, ich komme dann demnächst nochmal drauf zurück :)

LG

Ich muss mich entschuldigen. Ich stecke nebenbei mitten in der Prüfungsphase und mache das mit der Webseitengestaltung nur nebenbei für die Firma meines Vaters. Daher habe ich bisher auch nicht weiter reagiert. So wie das alles wieder etwas entspannter wird, gehe ich das wieder an.

Danke für eure Hilfe, ich komme dann demnächst nochmal drauf zurück :)

LG

PS: ich sitze grade im Zug zur Prüfung und da ich in Zügen nicht lesen kann (also auch nicht lernen), weil mir sonst schlecht wird, dachte ich, kannste ja die reisezeit nutzen, um dir den quark hier nochmal anzuschauen.

Da ich von Java echt 0 Ahnung habe, scheitere ich grade schon an der Festlegung des Datumsformats. Es gibt bei Java unzählige Möglichkeiten, dass Datum zu beeinflussen. Nachdem ich mich jetzt durch google gequält habe.... gucke ich immernoch wie ein Schwein ins Uhrwerk...Ist die folgende Phrase jetzt die richtige, um das Datumsformat festzulegen?

SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy");

Oder brauche ich was andere? Wo muss die Phrase eigentlich hin? Und spielt es eine Rolle, wie das Datumsfeld, also das Feld, in dem die Leute reinschreiben, eingefügt ist?

HTML:
	<td text-align="left" style="width:100px">
	<label for="datum">Veranstaltung am*:</label></td>
	<td style="width:100px">
	<input type="date" id="datum" name="datum" required="required"  >
	</td>

So sieht mein Datumsfeld aus und mit Java überprüfe ich dann. Java und ich - wir werden nie freunde....
 
Zuletzt bearbeitet von einem Moderator:
SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy");
Das sieht mir nach JAVA und nicht nach JavaScript aus.

Java und ich - wir werden nie freunde....
Müsst ihr ja auch nicht, da du ja mit JavaScript arbeitest... ;)

In JavaScript musst du da entweder eine Framework verwenden oder das Datumsformat selbst parsen (z.B. über eine RegExp). Wenn du es dann geparst hast, kannst du damit eine Dateobjekt erstellen, und dann so wie Huberlix vorgeschlagen hat weiterarbeiten.
 
Da sieht man, wie wenig Ahnung ich habe ;)
Ich mach mich bei gelegenheit mal schlau was all die Begriffe, die du da eingeworfen hast, bedeuten. >.<
Aber vll spuckt google ja mal was brauchbares aus wenn ich nach javaSCRIPT suche.. XD
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben