Datepicker验证无效

时间:2016-09-11 08:39:04

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

我在我的应用程序的弹出窗口中添加了一个日期选择器,工作正常,但是当我尝试提交表单时,我无法保存条目。即使输入中有有效日期,我也会返回false表单验证器text,但如果我更改日期,那么表单验证器返回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'

任何人都可以告诉我,为了让这项工作成为我的所作所为。

1 个答案:

答案 0 :(得分:2)

  

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

这是因为最初未设置ngModel CompanyData.dateOfRegistration,而undefined为false。

即使在datepicker中有效日期,但由于ngModel未初始化,因此return false;

CompanyData.dateOfRegistration设置为有效日期。