【问题标题】:md-datepicker shows error when date entered manually手动输入日期时 md-datepicker 显示错误
【发布时间】:2017-06-08 10:10:39
【问题描述】:

我正在使用 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>

【问题讨论】:

  • 请添加更多代码或小提琴/plnkr 以重现您的问题。

标签: angularjs material-design


【解决方案1】:

我找到了答案。在配置部分以及 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);
        };
    });

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-01
      • 2013-09-17
      • 2014-11-05
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 2018-10-07
      • 1970-01-01
      相关资源
      最近更新 更多