Angularjs md datepicker在手动输入日期时显示错误

Angularjs md datepicker在手动输入日期时显示错误,angularjs,material-design,Angularjs,Material Design,我使用的是md datepicker,当我手动输入日期时,它会显示无效的日期,但如果我从该控件中选择日期,则它会被验证。为此,我使用了以下代码 <md-datepicker name="FromDate" ng-model="vm.user.FromDate" ng-required="true" id="FromDate" md-is-error="login.ToDate.$invalid && login..$submitted" md-placeholder

我使用的是md datepicker,当我手动输入日期时,它会显示无效的日期,但如果我从该控件中选择日期,则它会被验证。为此,我使用了以下代码

    <md-datepicker name="FromDate" ng-model="vm.user.FromDate" ng-required="true" id="FromDate" md-is-error="login.ToDate.$invalid && login..$submitted" md-placeholder="FromDate"></md-datepicker> 
<div ng-messages="login.FromDate.$error" md-auto-hide="false" ng-show="login.FromDate.$touched ||login.FromDate.$submitted">
<div ng-message="required">Please enter FromDate.</div>                    </div>

请输入FromDate。

请检查输入日期的格式。默认格式为mm/dd/yyyy

我找到了答案。在配置部分和formatDate中,我添加了parseDate函数,它工作正常,在手动输入和从控件选择时没有错误

  .config(function ($mdDateLocaleProvider) {
        $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);
        };
    });

请添加更多代码或fiddle/plnkr以重现您的问题。