我有生成和使用JSON对象的RESTfull服务
{
firstName: "Alex",
lastName: "Ross",
studentGroup: {
groupId: 1,
groupName: "java 15-1"
},
admissionDate: "2015-03-25",
status: {
statusId: 3,
statusName: "expelled"
},
term: {
termId: 4,
termName: "fourth"
},
id: 1
}
这是 admissionDate 字段,它对应于html页面上的type =“date”的输入(更新对象的页面服务...所以它应该显示当前值并从日期选择器提交新的一个RESTfull服务):
<input required type="date" ng-model="student.admissionDate">
因此,在表示当前值之前,我将其String值转换为date:
$scope.student.admissionDate = new Date(student.admissionDate);
输入产生的日期类似于 - ' 2016年3月11日星期五14:36:29 GMT + 0200(FLE标准时间)'。 但是服务无法识别此格式,预计为' yyyy-MM-dd '格式。 为避免错误,我使用像
这样的角度滤镜student.admissionDate = $filter('date')($scope.student.admissionDate, "yyyy-MM-dd");
对象也可以发送到服务器(PUT: /student
)但在Chrome开发者控制台中我可以观察到错误 - “[ngModel:datefmt]
”,因为<input>
标记中的值格式已更改。
我该如何解决这个问题?应对'yyy-MM-dd'
<input type="date">
)和角度验证进行哪些更改
答案 0 :(得分:1)
我认为您传递给<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myapp" ng-controller="Ctrl as vm">
<button ng-click="vm.addFadeClass((animate = !animate))" class="btn btn-default">Fade</button>
<button ng-click="vm.addFlipClass((animate = !animate))" class="btn btn-default">Flip</button>
<div class="animated-wrapper">
<h1 class="text-center animated" ng-class="vm.cssVal" >Animation</h1>
</div>
</div>
的值是一个字符串。在将其传递给过滤器之前,您需要执行filter
。
这可能有效。