2016-11-24 4 views
0

Ich hatte ein Problem mit Bootstrap-Validierung datetimepicker. endDate muss weniger als startDate und show message oder erzwinge die endDate-Eingabe größer als startDate.datetimepicker startDate kann nicht größer als endDate

Ich habe Datetimeformat wie folgt aus:

$(document).ready(function() { 
$(".datetimepicker").datetimepicker({ 
    format: "YYYY-MM-DD", 
}); 

und hier ist meine Form Code:

<div class="col-xs-4 col-sm-4 col-md-4"> 
    <div class="form-group"> 
     <label>Date In:</label> 
     {!! Form::text('date_in', null, array('id' => 'date_in', 'class' => 'form-control datetimepicker')) !!} 
    </div> 
</div> 

<div class="col-xs-4 col-sm-4 col-md-4"> 
    <div class="form-group"> 
     <label>Date Out:</label> 
     {!! Form::text('date_out', null, array('id' => 'date_out', 'class' => 'form-control datetimepicker')) !!} 
    </div> 
</div> 

hier ist mein jquery bisher:

$.each(inputFormEle, function(index, value) { 
var getElByName = $(value).attr('name') 

switch(getElByName) { 
case 'date_in': 

    $('#accidentForm').bootstrapValidator('addField', getElByName, { 
     validators: { 
      date: { 
       format: 'YYYY-MM-DD' 
      }, 
      callback: { 
       callback: function(value, validator, $field) { 
        var dateIn = moment(value); 
        var dateOut = moment($('input[name="date_in"]').val()); 
        console.log(dateIn, dateOut); 
        if (dateIn.isBefore(dateOut)) { 
         return { 
          valid: true, 
         } 
        } 
        else { 
         return { 
          valid: false, 
          message: 'The Date in must be less than Date out' 
         } 
        } 
       } 
      } 
     }, 
    }); 

break; 

case 'date_out': 

    $('#accidentForm').bootstrapValidator('addField', getElByName, { 
     validators: { 
      date: { 
       format: 'YYYY-MM-DD' 
      }, 
      callback: { 
       callback: function(value, validator, $field) { 
        var dateOut = moment(value); 
        var dateIn = moment($('input[name="date_out"]').val()); 

        if (dateOut.isAfter(dateIn)) { 
         return { 
          valid: true, 
         } 
        } 
        else { 
         return { 
          valid: false, 
          message: 'The Date out must be greater than Date in' 
         } 
        } 
       } 
      } 
     } 
    }); 
break; 
    } 
}); 

Es arbeitet nicht an Alles, irgendeine Idee? danke.

+0

Mögliche Duplikat [Validierung Startdatum für Datum und Uhrzeit Picker sollte als Enddatum weniger nicht funktioniert] (http://stackoverflow.com/questions/30589514/datetime-picker-validation-start-date-should-be -less-than-end-date-not-working) – Abhijeet

Antwort

0
$("#endDate").change(function(){ 

    var startDate = new Date($("#startDate").val()); 

    var endtDate = new Date($("#endDate").val()); 

    if(startDate < endtDate){ 

     /* your validation and error message */ 

    }else{ 

     /* your piece of code*/ 

    } 
}); 


/* similarly you can write for start date also */ 
+0

Update-Thread mit jquery-Code, aber immer noch nicht funktioniert. –

Verwandte Themen