2014-06-23 21 views
3

我在窗体中使用引导角度日期选择器来更新我的模型'用户'。

我设置这个datepicker'require'属性为true。 UpdateUser.html:

<form name="userForm" novalidate> 
    <div class="form-group"> 
     <label>Birthday</label> 
     <p class="input-group"> 
      <input type="text" name="birthday" class="form-control" datepicker-popup="yyyy-MM-dd" ng-model="user.birthday" is-open="opened" datepicker-options="dateOptions" ng-required="true" /> 
      <span class="input-group-btn"> 
       <button type="button" class="btn btn-default" 
       ng-click="openDate($event)"> 
       <i class="glyphicon glyphicon-calendar"></i> 
      </button> 
     </span> 
    </p> 
    <span>{{userForm.birthday.$invalid}}</span> 
</div> 
<div class="form-group"> 
    <button type="submit" class="btn btn-primary" ng-disabled="userForm.$invalid">Update</button> 
</div> 
</form> 

UserCtrl.js:

mainApp.controller("detailCtrl", function($scope, $http, $routeParams, DemoService) {   
    $scope.user = DemoService.get({userId : $routeParams.userId}); 
    $scope.openDate = function($event) { 
    $event.preventDefault(); 
    $event.stopPropagation(); 
    $scope.opened = true; 
    }; 
    $scope.dateOptions = { 
    formatYear: 'yy', 
    startingDay: 1 
    }; 
}); 

所以我的问题是:{{$ userForm.birthday无效}}当我第一次把“用户 为什么是真实的。生日'到日期选择器?

Plunker:

http://plnkr.co/edit/DkGEVJ?p=preview

+0

你可以添加一个重现此问题的重击程序吗? – yarons

+0

Hi @yarons,Plunker:http://plnkr.co/edit/DkGEVJ?p = preview – Jemry

回答

2

有很多是看角引导Github上论坛同不同的问题。

我使用的角度,引导版本0.13.0,我发现日期选择器的数值:

userForm.$invalid = true 

当日期字段为空等情况,并不能很好地工作。

当你想验证它时,会出现问题。在这种情况下,为了避免日期选择器验证我用下面的代码:

<div class="form-group"> 
    <button type="submit" class="btn btn-primary" ng-disabled="userForm.$error['required'] !== undefined">Update</button> 
</div> 

这里是我的plunkr

http://plnkr.co/edit/Sqog7OqudQkww9WsCUT2?p=preview

那里你可以看到用户窗体$错误的价值,并决定使用NG。 -required ='生日'上的真或假。

希望它有帮助!

相关问题