2017-10-26 7 views
0

Ich verwende das jQuery Validate-Plugin und wollte wissen, wie kann ich validieren, dass ein bestimmtes Datum im aktuellen Jahr ist?So validieren Sie das Datum innerhalb des aktuellen Jahres mit jQuery Validieren Sie das Plugin

ich diesen Code haben, der das Feld stellen Sie sicher, erforderlich ist, und dass es ein gültiges Datum, aber ich möchte auch das Datum stellen Sie sicher, im laufenden Jahr ist, Strom ist 2017

// orders dates fields are required and must be in current year 

$(".order-dates").each(function (item) { 
    $(this).rules("add", { 
     required: true, 
     date: true 
    }); 
}); 
+0

verwenden können Sie die '.each nicht brauchen()' überhaupt denke ich. '.rules' * sollten * über eine Sammlung operieren - da es sich um ein Plugin handelt. Es ist absolut seltsam, dass 'item' von uns geheim bleibt ... *' "Ich möchte auch sicherstellen, dass das Datum im aktuellen Jahr ist, aktuell 2017" '* ... was * Datum *? –

+0

Mögliches Duplikat von https://stackoverflow.com/questions/28090401/jquery-validate-year-not-greater-than-today – Snowmonkey

+0

Ich verwende eine Klasse für die Feldnamen, so dass die einzelnen() Schleife zu iterieren ist über alle Felder mit dieser Klasse. Die Felder, die ich überspringe, haben Datumswerte in ihnen. Sie können einen beliebigen Datumswert haben, wenn sie verwendet werden. "Item" ist der Datumswert und $ (this) repräsentiert das Feldelement! – user1669296

Antwort

1

Sie‘ ll haben eine eigene Methode zu jquery-validator und verwenden Sie diese in Ihrer Validierungsregeln

Dies ist, was Ihre eigene Methode wird erstellen (ich Sie habe hinzugefügt, um eine Klasse gehe davon aus class="date" auf Ihrem Gebiet)

<script type="text/javascript"> 
    $(document).ready(function() { 
    $.validator.addMethod("ifDateInCurrentYear", function(value, element) { 
     var date= $('.date').val(); 
    if(Date.parse(date).getFullYear() - new Date().getFullYear() == 0) 
     return true; 
    else return false; 
    }, "* Date is not valid"); 

}); 
</script> 

du

wie
$(".order-dates").each(function (item) { 
$(this).rules("add", { 
    required: true, 
    date: true, 
    ifDateInCurrentYear : true; 
}); 
}); 
Verwandte Themen