我有一个列出假期日期的视图。而且我在表单上有一个日期字段,该字段必须与假期日期列表不同。所以我创建了一个验证器来检查它。
<xp:validateExpression message="İzin başlangıcı resmi tatillere denk gelemez.">
<xp:this.expression>
<![CDATA[#{javascript:var dHolidays = @DbColumn(@DbName(),"(lookupHoliday)", 1);
!@IsMember(value, dHolidays)}]]>
</xp:this.expression>
</xp:validateExpression>
这在公式语言上效果很好,但是xpages的日期格式有些古怪,我无法比较。
您可以使用java.text.SimpleDateFormat
将日期值转换为字符串并在validateExpression中进行比较:
var sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
var dHolidays = @DbColumn(@DbName(),"(lookupHoliday)", 1);
var newDate = sdf.format(value);
for (var i=0; i < dHolidays.length; i++) {
if (sdf.format(dHolidays[i]) === newDate) {
return false;
}
}
return true;
您可以通过这种方式在视图的第一栏中列出普通的Notes日期(而不是字符串)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句