我想验证Apigee中的日期字段,如果日期不是特定格式,则会引发错误。
示例:我想传递日期并检查日期是否为给定格式“mm / dd / yyyy”。如果日期不是这种格式,我需要提出错误。
答案 0 :(得分:2)
要执行此操作,您需要使用脚本标注。为简单起见,我建议使用javascript。假设您已使用ExtractVariables策略提取日期,则简单验证可能如下所示:
var date = context.getVariable("date").split("/");
date.map(function(d) { return parseInt(d) });
if (date.length < 3) {
// raise fault
} else {
if (date[0] >= 1 && date[0] <= 12 &&
date[1] >= 1 && date[1] <= 31 &&
date[0] >= 1970 && date[0] <= 3000) {
// probably a good date
} else {
//raise fault
}
}
现在,经过编写,它实际上并没有确认数月或数年或闰年或任何花哨的东西。如果您需要精确定位,我建议您在javascript标注上使用Moment.js作为included resource。
请记住,这是一个快速编写的示例,并且不够强大,无法处理各种不良输入。我建议至少使用try / catch块。