2015-11-02 17 views
9

Açısal malzemede md-datepicker yönergesini kullanırken, tarih biçimi doğrudan giriş için çalışmıyor gibi görünmektedir.md-datepicker giriş biçimi

Takvimde bir tarih seçtiysem, belirtildiği gibi gösterilecektir (benim durumumda DD-AA-YYYY), ancak girişi manuel olarak değiştirmeye çalışırsam, girdim MM-GG-YYYY olarak analiz edilir.

Şimdiye kadar, benim datepicker this question

angular.module('MyApp').config(function($mdDateLocaleProvider) { 
    $mdDateLocaleProvider.formatDate = function(date) { 
    return date ? moment(date).format('DD-MM-YYYY') : ''; 
    }; 
}); 

Here bu kodu kullanarak ayarlanır eylem sorunu görmek için bir codepen olduğunu.

Giriş formatını kurmanın bir yolu var mı?

cevap

5

komple çözüm tabanını:

$mdDateLocaleProvider.formatDate = function(date) { 
return date ? moment(date).format('DD-MM-YYYY') : ''; 
}; 

$mdDateLocaleProvider.parseDate = function(dateString) { 
var m = moment(dateString, 'DD-MM-YYYY', true); 
return m.isValid() ? m.toDate() : new Date(NaN); 
}; 
0
config($mdDateLocaleProvider) { 
    $mdDateLocaleProvider.formatDate = function(date) {  
     if(date !== null) { 
     if(date.getMonthName == undefined) { 
      date.getMonthName = function() { 
      var monthNames = [ "January", "February", "March", "April", "May", "June", 
      "July", "August", "September", "October", "November", "December" ]; 
      return monthNames[this.getMonth()]; 
      } 
     }   
     var day = date.getDate(); 
     var monthIndex = date.getMonth(); 
     var year = date.getFullYear(); 
     return day + ' ' + date.getMonthName() + ' ' + year; 
     } 
    }; 
    } 

$mdDateLocaleProvider.parseDate = function(dateString) { 
    var m = moment(dateString, 'DD-MM-YYYY', true); 
    return m.isValid() ? m.toDate() : new Date(NaN); 
}; 

güncellenmiş kalem bakın