以下のように、必要なプロパティが計算された(動的に計算された)dojo検証テキストボックスがxpageにあります
var syn = getComponent("SynCboxGrp").getValue();
if (syn == "Yes")
{return true;
}else{
return false;
}
ここで、コンポーネント SynCboxGrp はラジオ ボタンです。ラジオ ボタンの値に基づいて、テキスト ボックスが必要です。しかし、それは正しく機能していません。ラジオ ボタンの値を変更しても、必要な動作は変わりません。
どんな助けにも感謝します
アップデート
stwissel、Per Henrik Lausten、Eric に感謝します。このssjsは必須プロパティにしかありません
<xe:djValidationTextBox id="UBOCAgent" value="#{dsRacDoc.UBOCAgent}" disableClientSideValidation="true">
<xe:this.required><![CDATA[#{javascript:var syn = getComponent("SynCboxGrp").getValue();
if (syn == "Yes")
{
return true;
}else{
return false;
}
}]]></xe:this.required>
</xe:djValidationTextBox>
また、ラジオボタンのonclickイベントでこの部分的な更新コードを試しましたXSP.partialRefreshGet("#{id:UBOCAgent}");
これでも動作は変わりません。ラジオボタンの初期値に基づいて機能します。マイナス面としては、get リクエストであるため、サーバーからフィールドの内容を更新します。また、クライアントの検証を無効にするエリックの提案を試みましたが、それは役に立ちませんでした。
エリック、私も可能な限り CSJS を使用しようとしていますが、この場合、必要なプロパティには SSJS オプションしかありません。CSJSを試す方法がわかりません。entension lib の dojo フィールドを使用する代わりに、独自の dojo フィールドを作成してみる必要がありますか? もしそうなら、そのために必要なプロパティを計算する方法がわかりません。サンプルコードを教えていただけると助かります。御時間ありがとうございます。