Xpages に 2 つの日時コンポーネントがあり、送信前に 2 つの日付を比較して式検証機能を使用する必要があります。
<xp:inputText value="#{document1.FUP_creation}"
id="FUP_creation" required="true">
<xp:this.validators>
<xp:validateRequired
message="Date is required">
</xp:validateRequired>
</xp:this.validators>
<xp:dateTimeHelper id="dateTimeHelper3">
</xp:dateTimeHelper>
<xp:this.converter>
<xp:convertDateTime type="date"
dateStyle="short">
</xp:convertDateTime>
</xp:this.converter>
</xp:inputText>
<xp:inputText value="#{document1.FUP_expireDate}"
id="FUP_expiredDate" required="true">
<xp:this.validators>
<xp:validateRequired
message="Date is required">
</xp:validateRequired>
<xp:validateExpression
message="The expired date must be greater than creation date">
<xp:this.expression><![CDATA[#{javascript://_dump("creation date")
_dump(this.getValue())
_dump(this.getSubmittedValue())
var exp_date:java.util.Date=this.getValue();
var fup_creation:java.util.Date=getComponent("FUP_creation").getValue();
if (exp_date.compareTo(fup_creation)>=0) return true
else return false}]]></xp:this.expression>
</xp:validateExpression>
</xp:this.validators>
<xp:dateTimeHelper></xp:dateTimeHelper>
<xp:this.converter>
<xp:convertDateTime type="date"
dateStyle="short">
</xp:convertDateTime>
</xp:this.converter>
</xp:inputText>
正しい値は常に getSubmittedValue().. ですが、java.util.Date ではなく java.lang.String モードに戻ります。
java.text.SimpleDateFormat を使用して、送信した値を java.util.Date に変換できるようになりました...しかし、これは正しい解決策ですか?