我正在angular申请与Django同rest-framework..
angular
Django
rest-framework
该应用程序从服务器接收带有json的信息。键之一是created_time…此字段的值是format iso-8601,例如2015-05-29T19:06:16.693209Z。
created_time
iso-8601
2015-05-29T19:06:16.693209Z
在客户端中,我有一个字段:
<input type="time" ng-model="created_time">
但是,当数据到达时,我得到这个错误:
Error: [ngModel:datefmt] Expected `2015-05-29T19:06:16.693209Z` to be a date http://errors.angularjs.org/1.3.13/ngModel/datefmt?p0=2015-05-29T19%3A06%3A16.693209Z at REGEX_STRING_REGEXP (angular.js:63) at Array.<anonymous> (angular.js:19807) at Object.ngModelWatch (angular.js:23289) at Scope.$get.Scope.$digest (angular.js:14235) at Scope.$get.Scope.$apply (angular.js:14506) at done (angular.js:9659) at completeRequest (angular.js:9849) at XMLHttpRequest.requestLoaded (angular.js:9790)
我已经尝试了一切:(格式完全与angular文档中的说明…
角度1.3+必须发生这种情况。用于日期/时间输入的ng模型的1.3+版本必须是有效的日期对象,不再允许使用日期的字符串表示形式。您需要将字符串转换为日期对象($scope.created_time = new Date(dateString))并将其绑定到ng- model。如果您点击错误链接,它将获得有关错误及其解决方法的清晰说明。
$scope.created_time = new Date(dateString)
所有与日期相关的输入(例如)都要求模型成为Date对象。如果模型是其他模型,则会引发此错误。在这种情况下,Angular不会在上设置验证错误,因为这些错误会显示给用户,但是错误状态是由错误的应用程序逻辑而非用户引起的。