необходимо проверить два поля, введя числовое значение - PullRequest
0 голосов
/ 09 декабря 2010

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

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

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

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

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

Идентификатор и имя скрытых полей: begin_date, end_date

Также нужна помощь при запуске функции после заполнения обоих полей.

Ответы [ 2 ]

1 голос
/ 09 декабря 2010
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 голосов
/ 09 декабря 2010

Создайте класс 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 # -но что-то подобное может сработать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...