2010-12-09 11 views
0

Ich habe zwei Felder, die ein Benutzer ausfüllen wird, ist eins ein Beginndatum, das andere ist das Enddatum.müssen zwei Felder validieren, durch Eingabe von numerischen Wert

Ich möchte den Benutzer warnen, wenn das Enddatum kleiner als das Anfangsdatum ist.

Die Werte werden in diesem Format: JJJJMMTT (20101209)

Also muss ich dies eine Warnung schießen (wenn das Startdatum ist größer als das Enddatum) an den Benutzer, sobald beide Felder ausgefüllt sind, so wird es sie nicht alarmieren, bis beide Felder ausgefüllt sind.

Auch diese zwei Felder sind versteckte Felder, weil ich das altFormat, altField von jQuery's datepicker verwende.

die ID und den Namen der verborgenen Felder sind: BEGIN_DATE, end_date

auch die Funktion Brennen brauchen Hilfe, nachdem beide Felder ausgefüllt sind.

+0

Könnten Sie nicht, wenn (end_date.value - begin_date.value) tun? –

Antwort

1
function compareDates(d1, d2) { 
    var date1 = new Date(d1); 
    var date2 = new Date(d2); 

    if(date1.getTime() > date2.getTime()) { 
     alert("Start Date is greater than End Date"); 
    } 
} 

Es kann einen kürzeren Weg geben, ich bin kein JS-Experte.

0

Machen Sie eine KeyValuePair-Klasse. Pseudocode folgt:

Lassen Sie beide Felder die gleiche Update-Methode aufrufen und in das Datepair schreiben, sobald beide Felder etwas enthalten.

public void OnFieldUpdate(){ 
    if (Field1.hasentrie && Field2.hasentrie) 
    { 
     try 
     { 
      myDatepair = new Datepair(Field1.Value, Field2.Value); 
     } 
     catch (Exception e) 
     { 
      MessageBox.show(e.Message); 
     } 
    } 
} 

Ich weiß, dass dies eine ganze Menge, wie C# sieht - aber so etwas wie das funktionieren könnte

Verwandte Themen