Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cavalcantejean

Verificar data de dois datepicker

Recommended Posts

Tenho o seguinte código e gostaria de fazer a verificação de dois datapickers

isDate: function () {
        var r = true, re = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/, $this = $(this),val = $(this).val(),
        actualDate = new Date(), splitDate = val.split('/'), insertedDate;
        var maxDate = $this.datepicker("option", "maxDate");

//        if (minDate && maxDate) {
//            var dataInicial = minDate.toString();
//            var dataFinal = maxDate.toString();
//            //            var novaDataInicial = dataInicial.split("/").reverse().join("-");
//            //            var novaDataFinal = dataFinal.split("/").reverse().join("-");
//            var novaDataInicial = dataInicial.toString();
//            var novaDataFinal = dataInicial.toString();
//            novaDataInicial = novaDataInicial.split("/").reverse().join("-");
//            novaDataFinal = novaDataFinal.split("/").reverse().join("-");

//            minDate = novaDataInicial;
//            maxDate = novaDataFinal;
        //        }

        if (maxDate) {
            var dataInicial = maxDate.toString();
            //            var novaDataInicial = dataInicial.split("/").reverse().join("-");
            //            var novaDataFinal = dataFinal.split("/").reverse().join("-");
            var novaDataFinal = dataInicial.toString();
            novaDataFinal = novaDataFinal.split("/").reverse().join("-");

            maxDate = novaDataFinal;
        }

        try {
            insertedDate = new Date(splitDate[2] + "-" + splitDate[1] + "-" + splitDate[0] + "T00:00:00Z");
            if ($this.datepicker("getDate") != null) {
                if (regs = val.match(re)) {
                    if (regs[1] < 1 || regs[1] > 31) {
                        r = false;
                    }
                    if (regs[2] < 1 || regs[2] > 12) {
                        r = false;
                    }
                    if (regs[3] < 1902 || regs[3] > actualDate.getFullYear()) {
                        r = false;
                    }


                    
                    if ($this.hasClass("maxToday") && insertedDate > actualDate) {
                        r = false;
                    }
                    if ($this.hasClass("minToday") && insertedDate < actualDate) {
                        r = false;
                    }
                    if (insertedDate < new Date('1900-01-01T00:00:00Z')) {
                        r = false
                    }
                }
                else {
                    r = false;
                }
            }
            else {
                r = false;
            }
            return r;
        }
        catch (Error) {
            r = false;
        }
        return r;
    },
if($input.hasClass("data-picker") || $input.hasClass("data-picker-range") || $input.hasClass("datepicker")) && !$input.isDate()) $input.addClass(errorClass);erro=true;

E no html:

<div class="form-item-label inline ui-widget-content"><span>Período</span></div>
					<input type="text" name="DataInicial" class="data data-picker-range datepicker" /> a <input type="text" name="DataFinal" class="data data-picker-range2 datepicker2 date-picker2"/>

Porém, só consigo pegar o input do maxDate. Como posso fazer para pegar o dos dois?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.