複数の Dojo コンテンツ・ペインに分割された XPage があります。クライアント・サイド JavaScript を使用して、どの Dojo コンテンツ・ペインを表示するかを決定します。ここで、いくつかの必須フィールドの検証を XPage に追加したいと考えています。ただし、クライアント・サイドとサーバー・サイドのどちらの検証でも、文書は保存されませんが、検証が必要なフィールドが、現在表示されている Dojo コンテンツ・ペイン以外の Dojo コンテンツ・ペインにある場合、サーバー・サイドのエラーはユーザーに表示されません。メッセージが表示され、検証に失敗したフィールドにカーソルが配置されません (クライアント側のメッセージは表示されますが、検証に失敗したフィールドにはカーソルが配置されません)。フィールドが検証に失敗したときに実行される CSJS コードを追加する方法はありますか? (理想的には、サーバー側の検証のみを使用したい)
ここに検証が必要なフィールドがあります
<xp:inputText id="FirstName" value="#{document1.FirstName}" required="true">
<xp:this.validators>
<xp:validateRequired>
<xp:this.message><![CDATA["REQUIRED"]]></xp:this.message>
</xp:validateRequired>
<xp:validateLength minimum="5" maximum="10">
<xp:this.message><![CDATA["VALIDATE"]]></xp:this.message>
</xp:validateLength>
</xp:this.validators>
</xp:inputText>
Dojo コンテンツ ペインのコードは次のとおりです。
<xe:djContentPane id="Employee">
Dojo コンテンツ・ペインを表示または非表示にする CSJS コード
var Allgemein = dojo.byId("#{id:Allgemein}");
if (sectionDisplay == "Allgemein") {
dojo.style(Allgemein, "display", "block");
} else {
dojo.style(Allgemein, "display", "none");
}
var sectionDisplay = dojo.cookie("sectionDisplay");