0
我想驗證Apigee中的日期字段,並在日期不是特定格式時引發錯誤。如何驗證Apigee Edge中的日期字段
例如:我想傳遞一個日期並檢查日期是否爲給定格式「mm/dd/yyyy」。如果日期不是這種格式,我需要提出錯誤。
我想驗證Apigee中的日期字段,並在日期不是特定格式時引發錯誤。如何驗證Apigee Edge中的日期字段
例如:我想傳遞一個日期並檢查日期是否爲給定格式「mm/dd/yyyy」。如果日期不是這種格式,我需要提出錯誤。
爲此,您需要使用腳本標註。爲了簡單起見,我推薦使用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塊。
這有幫助。將盡力實施這種方式。 – ZZzzZZzz 2015-02-23 16:50:57
如何在這個java腳本的else語句中調用raise fault?任何幫助。 – ZZzzZZzz 2015-02-23 17:03:28
@user您可以使用JavaScript上下文將HTTP代碼設置爲400,然後執行僅在代碼!= 200時才執行的有條件提升錯誤步驟。 – brandonscript 2015-02-23 17:25:35