gpt4 book ai didi

javascript - 如何使用日期类型输入来匹配 AngularJS 中的 JSON 格式和日期格式

转载 作者:行者123 更新时间:2023-11-28 01:15:24 25 4
gpt4 key购买 nike

我有生成和使用 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">

因此,在表示当前值之前,我将其字符串值转换为日期:

$scope.student.admissionDate = new Date(student.admissionDate); 

输入产生的日期类似于 - '2016 年 3 月 11 日星期五 14:36:29 GMT+0200(FLE 标准时间)'。 BUT 服务无法识别此格式,应为“yyyy-MM-dd”格式。为了避免错误,我使用像

这样的 Angular 过滤器
student.admissionDate = $filter('date')($scope.student.admissionDate, "yyyy-MM-dd");

对象也可以发送到服务器 ( PUT: /student ) 但在 Chrome 开发者控制台中我可以观察到错误 - “[ngModel:datefmt] ” 因为值格式已在 <input> 中更改标签。

Chrome console with Angular validation error

我该如何解决这个问题?应进行哪些更改以适应服务器格式 ( 'yyy-MM-dd' ) 和 <input type="date"> 中的 Angular 验证

最佳答案

我认为您传递给 filter 的值是一个字符串。在将它传递给过滤器之前,您需要执行 new Date('the_date_string')

这可能有用。

关于javascript - 如何使用日期类型输入来匹配 AngularJS 中的 JSON 格式和日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35940887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com