2015-11-02 9 views
9

कोणीय सामग्री में एमडी-डेटपिकर निर्देश का उपयोग करते समय, दिनांक प्रारूप सीधे इनपुट के लिए काम नहीं कर रहा है।एमडी-डेटपिकर इनपुट प्रारूप

यदि मैं कैलेंडर में दिनांक चुनता हूं, तो यह निर्दिष्ट (मेरे मामले में डीडी-एमएम-वाईवायवाई) में प्रदर्शित किया जाएगा, लेकिन यदि मैं मैन्युअल रूप से इनपुट को बदलने की कोशिश करता हूं, तो मेरी प्रविष्टि का विश्लेषण एमएम-डीडी-वाई वाई वाई के रूप में किया जाता है।

अब तक, मेरी datepicker this question

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

Here से इस कोड का उपयोग सेट किया गया है कार्रवाई में समस्या को देखने के लिए एक codepen है।

क्या प्रवेश प्रारूप सेट अप करने का कोई तरीका है?

उत्तर

17

प्रारूप दिनांक घटना पर्याप्त नहीं है। आपको पार्स डेट इवेंट भी कॉन्फ़िगर करना चाहिए।

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

अद्यतन कलम देखें: http://codepen.io/anon/pen/GpBpwZ?editors=101

5

पूर्ण समाधान आधार यह है:

$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; 
     } 
    }; 
    } 
संबंधित मुद्दे