在数据表中,我必须将输入验证为货币。当我在删除$符号后输入值时,输入组件会抛出错误。
<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>
当我输入没有美元符号的值时,我收到此验证错误。
答案 0 :(得分:4)
将$
与输入分开并使用普通数字转换器。
$<p:inputText ...>
<f:convertNumber maxFractionDigits="2" minFractionDigits="0" />
</p:inputText>
如果需要,您可以使用CSS将$ visual重新定位回输入元素。这是纯HTML / CSS中的启动示例:
<div class="currency"><span>$</span><input /></div>
与
.currency span { position: absolute; margin: 5px 2px; }
.currency input { padding-left: 5px; }