我想知道如何验证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 次 |
最近记录: |