1

xpageに数値フィールドを作成しました。ただし、入力チェックは正しく機能しません。予想される動作である数値のみを受け入れますが、入力された桁数は検証されません。regExp \ d {6}のため、6桁を超える数値は受け入れられませんでした。

xpageのコードは次のとおりです。

<xe:djNumberTextBox id="inputTextMidasId" dojoType="dijit.form.NumberTextBox" value="#{complaintDocument.midasId}" javaType="short" regExp="\d{6}"> <xe:this.constraints> <xe:djNumberConstraints pattern="######"> </xe:djNumberConstraints> </xe:this.constraints> </xe:djNumberTextBox>

誰かがこのコードを機能させる方法を教えてもらえますか?ありがとうございました。

4

1 に答える 1

1

正規表現が期待どおりに機能しない理由を説明できません。

minXPages Extension Library book によると、とmaxプロパティを使用して、xe:djNumberConstraints許可される最小値と最大値を制御できます。おそらく、正規表現の代わりにそれらを使用する必要がありますか?

以下はまさにあなたが望むことをします:

<xe:djNumberTextBox id="djNumberTextBox1" value="#{viewScope.test}">
    <xe:this.constraints>
        <xe:djNumberConstraints min="1" max="999999"></xe:djNumberConstraints>
    </xe:this.constraints>
</xe:djNumberTextBox>

アップデート:

a に 001 を書き込むxe:djNumberTextBoxと、ユーザーがフィールドを離れたときに 1 に変換されます。これは、あなたの望むことですか?

を使用するxe:djValidationTextBoxと、正規表現を使用して入力を検証できます。以下は、必要な検証を行い、001 などの入力をフィールドに保持できるようにします。

<xe:djValidationTextBox id="djValidationTextBox1" regExp="\d{6}"></xe:djValidationTextBox>
于 2012-08-11T21:07:10.273 に答える