Angularjs md datepicker在手动输入日期时显示错误
我使用的是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 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以重现您的问题。