【问题标题】:Datepicker validation not working日期选择器验证不起作用
【发布时间】:2016-09-11 08:39:04
【问题描述】:

我在我的应用程序的弹出窗口中添加了一个日期选择器,它工作正常,但是当我尝试提交表单时,我无法保存条目。即使输入中有有效日期,我的表单验证器也会返回 false文本,但是如果我更改日期,则表单验证器返回 true.. 这是我的代码

<p class="input-group">
                                            <input type="text" ng-click="open($event)" class="form-control registration-input"
                                                datepicker-popup="{{format}}"  show-button-bar="false" 
                                                ng-model="CompanyData.dateOfRegistration" name="dateOfRegistration"
                                                is-open="opened" datepicker-options="dateOptions" /> <span
                                                class="input-group-btn">
                                                <button type="button" class="btn btn-default"
                                                    ng-click="open($event)">
                                                    <i class="glyphicon glyphicon-calendar"></i>
                                                </button>
                                            </span>
                                        </p>

下面是js代码

// Disable weekend selection
    $scope.disabled = function(date, mode) {
      return ( mode === 'day' && ( date.getDay() === 0 || date.getDay() === 6 ) );
    };

  $scope.dates = [{date:'01-05-2001'}, {date:'05-05-2014'}, {date:'10-11-2008'}]
    $scope.open = function($event) {
      $event.preventDefault();
      $event.stopPropagation();

      $scope.opened = true;
    };

    $scope.dateOptions = {
      formatYear: 'yy',
      startingDay: 1,
      showWeeks:'false'
    };


    $scope.format = 'dd-MMMM-yyyy'

谁能告诉我我该怎么做才能完成这项工作..

【问题讨论】:

  • 我会说您最初只是将格式化的日期字符串绑定到 ng-model,因为 datepicker 需要日期对象,您可以查看我去年记录的 githhub issue

标签: angularjs angular-ui-bootstrap bootstrap-datepicker


【解决方案1】:

即使输入文本中有有效日期,我的表单验证器也会返回 false ?

这是因为 ngModel CompanyData.dateOfRegistration 最初没有设置,它是 undefined 这是错误的。

即使在 datepicker 中有有效的日期,但因为 ngModel 没有初始化它是 return false;

CompanyData.dateOfRegistration 设置为有效日期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 2016-01-04
    • 1970-01-01
    • 2011-06-02
    • 2012-09-28
    相关资源
    最近更新 更多