2016-09-11 3 views
0

Я добавил datepicker во всплывающее окно в моем приложении, которое отлично работает, но когда я пытаюсь отправить форму, я не могу сохранить записи. Мой шаблон validator возвращает false, даже если существует действительный дата во входном тексте, но если изменить дату, то формируют валидатор возвращает истину .. Это мой кодПроверка даты печати не работает

<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' 

Может ли кто-нибудь сказать мне, что я делаю для того, чтобы сделать эту работу.

+0

Я бы сказал, что вы изначально привязывали только форматированную строку даты к 'ng-model', где, поскольку datepicker нужен объект даты, вы можете посмотреть на эту проблему [githhub] (https://github.com/angular-ui/ bootstrap/issues/4559), который я запустил в прошлом году –

ответ

2

Мой регистратор формы возвращает false, даже несмотря на то, что во входном тексте есть допустимая дата?

Это из-за ngModel CompanyData.dateOfRegistration не устанавливается изначально, и это undefined, который является ложным.

Даже там действительную дату в DatePicker, но потому, что ngModel не инициализирован это return false;

CompanyData.dateOfRegistration Установите на действительную дату.

 Смежные вопросы

  • Нет связанных вопросов^_^