1

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 に変換できるようになりました...しかし、これは正しい解決策ですか?

4

1 に答える 1