abh*_*bhi 12 validation jsf input decimal jsf-2
有没有办法确认h:inputTextJSF中的值,它只接受数字.意味着它可以是一个Integer或者一个float.
如果键入   12s3a562.675  ,   a5678s12  ,   68712haf.563345  或任何其他这样的一种价值观,那么它应该显示错误.否则它接受并继续.
Bal*_*usC 19
只需将输入值绑定到一个Double或更好的BigDecimal属性而不是String.
private BigDecimal number; // Double can also, but beware floating-point-gui.de
<h:inputText value="#{bean.number}" />
JSF 为那些将自动启动的类型构建了内置转换器.您可以自定义转换器消息,如下所示:
<h:inputText value="#{bean.number}" converterMessage="Please enter digits only." />
das*_*ort 17
<h:inputText onkeypress="if(event.which < 48 || event.which > 57) return false;"/> 如果你只想接受整数,这是一个很短的方法. 
它的优势type="number"在于你甚至无法输入非数字
die*_*eke 10
如果你把它添加到你的xhtml
的xmlns:PE = "http://primefaces.org/ui/extensions"
并使用inputext表示名为pe:inputNumber的Primefaces Extensions 数量 ,它们不仅可验证您的数字,而且还可以更完整.
<pe:inputNumber value="#{beanTest.myValue}" thousandSeparator="" decimalSeparator="." decimalPlaces="0" />
这对我有用
onkeypress="if( (event.which < 48 || event.which > 57) ) return false;"
尝试
<h:inputText value="SomeValue" converter="javax.faces.Double" />
如果您愿意使用 Primefaces,您可以将 a 附加<p:keyFilter>到 a<h:inputText>或<p:inputText>。
例子:
<h:inputText id="text1" value="#{bean.intValue}" />
<p:keyFilter for="text1" mask="pint" />
<p:inputText id="text2" value="#{bean.numberValue}" >
  <p:keyFilter mask="num" />
</p:inputText>
这将阻止键盘输入以仅允许有效的整数 ( int/ pint) 或小数 ( num/ pnum) 输入。该pnum和pint类型只允许正输入(无需登录)。
| 归档时间: | 
 | 
| 查看次数: | 76298 次 | 
| 最近记录: |