【发布时间】:2021-04-09 15:54:22
【问题描述】:
我正在使用 wso2 MI 1.2.0。我需要验证以 yyyy-MM-dd 格式作为字符串出现的日期。 需要考虑日期的主要验证,并避免以下类型的无效日期。
- 2021-02-29
- 2021-03-32
- 2021-14-03
- 2021-1r-09
- 2020-10-09t
我尝试使用下面提到的脚本中介。但是在尝试调用 new Date() 函数时,它正在传递 invalid date。
<script language="js"><![CDATA[var myDate = mc.getProperty("myDate");
var regEx = /^\d{4}-\d{2}-\d{2}$/;
var isMyDateValid = 'false';
if(isValidDate(myDate)) {
isMyDateValid = 'true';
}
function isValidDate(dateString) {
var log = mc.getServiceLog();
log.info("Logging inside Script Mediator"+dateString);
var regEx = /^\d{4}-\d{2}-\d{2}$/;
if(!dateString.match(regEx)) {
return false;
}
var d = new Date(dateString);
log.info("Logging inside Script Mediator d : "+d);
var dNum = d.getTime();
if(!dNum && dNum !== 0){
return false;
}
return d.toISOString().slice(0,10) === dateString;
}
mc.setProperty("isMyDateValid", isMyDateValid);]]></script>
克服这个问题的最佳方法是什么?或者也欢迎任何其他替代建议。 提前谢谢你!
【问题讨论】:
标签: javascript wso2 wso2esb wso2ei