我想知道如何验证inputText文本字段并查看它是否与十进制格式匹配.而且在渲染时间内如何使用特定格式格式化该文本字段
我这样做了:
<rich:column id="soldes_comptables">
<f:facet name="header">
<h:outputText value="Solde Comptable" />
</f:facet>
<h:inputText id="inputTextSC" value="#{file.soldes_comptables}"
label="Montant"
style="border-color:#F2F3F7;"
validatorMessage="The number must be decimal eg: 000.00"
>
<f:convertNumber pattern="#,###,##0.00"/>
<f:validateRegex pattern="^[0-9]+(\.[0-9]{1,2})?$"></f:validateRegex>
<rich:validator />
</h:inputText>
<rich:message for="inputTextSC"/>
</rich:column>
Run Code Online (Sandbox Code Playgroud)
但它不能按我的意愿工作:(请帮助我
你正在混合验证和转换.这<f:validateRegex>仅适用于String值,而不适用于Number值,但是,<f:convertNumber>它已经将其转换String为Number预先设置,因此<f:validateRegex>对您来说相当无用.您应该删除它并指定消息converterMessage.
<h:inputText ... converterMessage="The number must be decimal eg: 000.00">
<f:convertNumber pattern="#,###,##0.00"/>
</h:inputText>
Run Code Online (Sandbox Code Playgroud)
另一种方法是创建一个自定义转换器,根据一些正则表达式模式匹配扩展NumberConverter并抛出ConverterException不正确的输入格式.
| 归档时间: |
|
| 查看次数: |
9646 次 |
| 最近记录: |