2

バリデータサーバー側を使用してチェックボックスを検証するにはどうすればよいですか。次のコードは入力ボックスを検証しますが、チェックボックスは検証しません

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:this.data>
        <xp:dominoDocument var="document1" formName="Order"></xp:dominoDocument>
    </xp:this.data>
    <xp:checkBox text="Nop" id="checkBox1" required="true" value="#{document1.Option1}" checkedValue="1">
        <xp:this.validators>
            <xp:validateRequired message="click checkbox"></xp:validateRequired>
        </xp:this.validators>
    </xp:checkBox>
    <xp:inputText id="inputText1" value="#{document1.Option2}">
        <xp:this.validators>
            <xp:validateRequired message="enter box"></xp:validateRequired>
        </xp:this.validators>
    </xp:inputText>
    <xp:button value="Label" id="button1">
        <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
            <xp:this.action>
                <xp:saveDocument var="document1"></xp:saveDocument>
            </xp:this.action>
        </xp:eventHandler>
    </xp:button>
    <xp:messages id="messages1"></xp:messages>
</xp:view>
4

2 に答える 2

0

単なる回避策であり、より良い解決策があるかもしれません。しかし、他に何も役に立たない場合は、2 番目のフィールドまたはスコープ var で作業を試みることができます。

アイデア #1: バリデーターを使用する代わりに、ボタン コードでチェックボックスの submitValue を照会します。それがあなたにとって不都合な場合は、続行するか、終了してください。

アイデア #2: チェックボックスを Notes データ フィールドにバインドせず、代わりに onclick または onchange イベントを使用して正しい値を EditBox に書き込み、それが検証されます。

繰り返しますが、これら2つがポップアップしたばかりで、もっと良い方法があるかもしれませんが、私はそれらを試していません. - 幸運を!

于 2015-03-04T17:19:06.787 に答える