gpt4 book ai didi

javascript - 如何使用 JSF 在输入文本中授权逗号和点

转载 作者:行者123 更新时间:2023-11-28 01:23:53 24 4
gpt4 key购买 nike

我正在使用一个包含输入数字(它代表对象的价格)的表单。

输入文本是用 JSF 创建的(代码不是我的):

<h:inputText value="#{myObject.unitPrice}" maxlength="10"
required="true" >
<f:ajax event="change" listener="#{myObject.doCalculateTotalPrice}" />
<f:validator validatorId="montantValidator" />
<f:convertNumber pattern="##0.00" locale="en"/>
</h:inputText>

此输入有效,但我们的客户想要使用点和逗号(不要问我为什么!)。是否可以使用模式来允许“,”和“.”?或者我应该创建一个 javascript 函数来用 '.' 替换 ',' 吗?

提前谢谢您。

最佳答案

谢谢 TronchDeYack!

这是一些用于删除清晰解决方案的代码。

自定义数字类型、数字格式...

转换器

@FacesConverter("decimalNumberConverter")
public class DecimalNumberConverter implements Converter {

public Object getAsObject( FacesContext fc, UIComponent uic, String value ) {
if( value != null )
return new BigDecimal( value.replace(',','.') );
return null;
}

public String getAsString( FacesContext fc, UIComponent uic, Object object ) {
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits( Integer.valueOf((String)uic.getAttributes().get("maxFractionDigits")) );
nf.setMinimumFractionDigits( Integer.valueOf((String)uic.getAttributes().get("minFractionDigits")) );
return nf.format(object);
}
}

输入

<p:inputText value="#{bean.myNumber}" >
<f:converter converterId="decimalNumberConverter" />
<f:attribute name="minFractionDigits" value="2"/>
<f:attribute name="maxFractionDigits" value="4"/>
</p:inputText>

关于javascript - 如何使用 JSF 在输入文本中授权逗号和点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22955077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com