2010-12-09 2 views
0

У меня есть два поля, которые пользователь заполнит, один - дата начала, другая - дата окончания.необходимо проверить два поля, числовое значение, введенное

Я хочу предупредить пользователя, если конечная дата меньше даты начала.

Значения будут в этом формате: ГГГГММДД (20101209)

Так что мне нужно, чтобы это огонь предупреждение (если начать дата больше конечной даты) пользователю, как только оба поля заполнены, поэтому он не будет предупреждать их, пока оба поля не будут заполнены.

Кроме того, эти два поля являются скрытыми полями, потому что я использую altFormat, altField jQuery datepicker.

идентификатор и зовут из скрытых полей: BEGIN_DATE, end_date

необходим также помочь обжигу функции после того, как оба поля заполнены.

+0

Не могли бы вы не делать, если (end_date.value - begin_date.value)? –

ответ

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"); 
    } 
} 

Может быть более короткий путь, я не эксперт JS.

0

Сделать класс KeyValuePair. ПСЕВДОКОД следующим образом:

class Datepair 
{ 
    private int m_begindate; 
    private int m_enddate; 

    public Datepair(int begin, int end) 
    { 
     if (begin > end) 
     { 
      throw new Exception("Your startdate is later than your enddate") 
     } 
     else 
     { 
      m_enddate = end; 
      m_begindate = begin; 
     } 
    } 
} 

Есть оба поля называют один и тот же метод обновления и запись в Datepair раз оба поля содержат что-то.

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

Я знаю, это выглядит ужасно много, как C# - но что-то подобное, что может работать

Смежные вопросы