2 月 30 日的 Dataweave 日期验证
Dataweave date validation for Feb 30
我想在 dataweave 中进行日期验证,如果日期无效则设置为空。
尝试过:
'2019/02/29' as Date{format: "yyyy/MM/dd"} default null
打印“2019/02/28”。
尝试时:
'2019/03/45' as Date{format: "yyyy/MM/dd"} default null
取空成功
2 月份有解决办法吗?
对于:
'2019/02/29' as Date{format: "yyyy/MM/dd"} default null
预期:空
实际:“2019/02/28”
DataWeave 似乎不按日历验证日期。另一种方法是创建一个验证函数来确认日期将保持不变:
%dw 2.0
output application/json
fun validDate(d) = if (d == d as Date {format: "yyyy/MM/dd"} as String {format: "yyyy/MM/dd"} ) d else null
---
{
noLeap: validDate('2019/02/29'),
valid: validDate('2019/02/28'),
invalid: validDate('2019/04/31')
}
输出:
{
"noLeap": null,
"valid": "2019/02/28",
"invalid": null
}
我想在 dataweave 中进行日期验证,如果日期无效则设置为空。
尝试过:
'2019/02/29' as Date{format: "yyyy/MM/dd"} default null
打印“2019/02/28”。
尝试时:
'2019/03/45' as Date{format: "yyyy/MM/dd"} default null
取空成功
2 月份有解决办法吗?
对于:
'2019/02/29' as Date{format: "yyyy/MM/dd"} default null
预期:空
实际:“2019/02/28”
DataWeave 似乎不按日历验证日期。另一种方法是创建一个验证函数来确认日期将保持不变:
%dw 2.0
output application/json
fun validDate(d) = if (d == d as Date {format: "yyyy/MM/dd"} as String {format: "yyyy/MM/dd"} ) d else null
---
{
noLeap: validDate('2019/02/29'),
valid: validDate('2019/02/28'),
invalid: validDate('2019/04/31')
}
输出:
{
"noLeap": null,
"valid": "2019/02/28",
"invalid": null
}