我有一个列出假日日期的视图。我的表单上有一个日期字段,需要与我的假日日期列表不同。所以我创建了一个验证器来检查它。
<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有一些古怪的日期格式,我无法比较。
答案 0 :(得分:1)
您可以使用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日期(而不是字符串)。