2011-07-28 13 views
6

Znalazłem użyteczny fragment kodu, który pozwala na wyświetlanie dat w Wielkiej Brytanii w Chrome, ale nie jestem pewien, jak go wdrożyć. Zastępuje domyślną funkcję daty.Zastąp datę jquery

Jak dodać to do sprawdzania poprawności jQuery, aby nadpisać domyślną funkcjonalność.

Here is where Znalazłem przykładowy kod

+0

Proponuję użyć czegoś takiego: http://www.datejs.com/ – Mrchief

+0

Jeśli masz zamiar skopiować odpowiedź na inne pytanie, przynajmniej daj tej osobie kredyt. (Nawet skopiowałeś swoje literówki) http://stackoverflow.com/questions/5966244/jquery-datepicker-chrome –

Odpowiedz

16

należy wywołać metodę validator.addMethod po załadowaniu biblioteki jquery.validate tak:

$(function() { 
    // Replace the builtin US date validation with UK date validation 
    $.validator.addMethod(
     "date", 
     function (value, element) { 
      var bits = value.match(/([0-9]+)/gi), str; 
      if (!bits) 
       return this.optional(element) || false; 
      str = bits[1] + '/' + bits[0] + '/' + bits[2]; 
      return this.optional(element) || !/Invalid|NaN/.test(new Date(str)); 
     }, 
     "Please enter a date in the format dd/mm/yyyy" 
    ); 
}); 

Zauważ, że użyłem inny sposób faktycznie walidacji wejścia , ponieważ kod w twoim pytaniu nie zadziała (toLocaleDateString nie przyjmuje parametru). Można również zmienić to, aby korzystać z biblioteki datejs, jak Mrchief wskazał w komentarzach.

+1

To najbardziej eleganckie rozwiązanie problemu, dziękuję. – Emanuel