需要通过输入的数值验证两个字段

时间:2010-12-09 16:28:33

标签: jquery html jquery-ui datepicker

我有两个用户填写的字段,一个是开始日期,另一个是结束日期。

如果结束日期小于开始日期,我想提醒用户。

值将采用以下格式:YYYYMMDD(20101209)

所以我需要这个以在填写两个字段后向用户发出警报(如果开始日期大于结束日期),因此在两个字段都填写之前它不会提醒他们。

另外,这两个字段都是隐藏字段,因为我使用的是jQuery的datepicker的altFormat,altField。

隐藏字段的ID和名称是:begin_date,end_date

在填写两个字段后,还需要帮助触发该功能。

2 个答案:

答案 0 :(得分: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专家。

答案 1 :(得分: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# - 但是类似的东西可能会起作用