3

データテーブルでは、入力を通貨として検証する必要があります。$ 記号を削除して値を入力すると、入力コンポーネントがエラーをスローします。

    <p:column>
        <f:facet name="header">
            <p:outputLabel value="REC REVENUE" />
        </f:facet>
        <p:inputText id="RERVN" styleClass="RERVN"
       value="#{segmentSetup.userSegmentTypesMap['RERVN'].segmentValues[rank].rangeMinValue}"
   disabled="#{!segmentSetup.userSegmentTypesMap['RERVN'].selected  ||    (rank==fn:length(segmentSetup.ranks)) }"
validator="#{segmentSetup.validateRanges}">
            <f:convertNumber maxFractionDigits="2" minFractionDigits="0" currencySymbol="$" type="currency" />
        </p:inputText>
        <p:message for="RERVN" />
    </p:column>

ドル記号なしで値を入力すると、この検証エラーが発生します。

tabView:segmentRangeTable:0:GRRVN: '45' は通貨値として認識できませんでした。例: $99.99

4

1 に答える 1

4

$を入力から離し、通常の数値変換器を使用してください。

$<p:inputText ...>
    <f:convertNumber maxFractionDigits="2" minFractionDigits="0" />
</p:inputText>

必要に応じて、CSS を使用して $ を視覚的に入力要素に再配置できます。プレーンな HTML/CSS でのキックオフの例を次に示します。

<div class="currency"><span>$</span><input /></div>

.currency span { position: absolute; margin: 5px 2px; }
.currency input { padding-left: 5px; }
于 2013-01-15T18:31:29.037 に答える