我在我的应用程序的弹出窗口中添加了一个日期选择器,工作正常,但是当我尝试提交表单时,我无法保存条目。即使输入中有有效日期,我也会返回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'
任何人都可以告诉我,为了让这项工作成为我的所作所为。
答案 0 :(得分:2)
即使输入文本中有有效日期,我的表单验证器也会返回false吗?
这是因为最初未设置ngModel CompanyData.dateOfRegistration
,而undefined
为false。
即使在datepicker中有效日期,但由于ngModel
未初始化,因此return false;
将CompanyData.dateOfRegistration
设置为有效日期。