如何在 JSF 页面中使用 validateRegex 验证 inputText 中的数字字符串
How to validate numeric strings in inputText with validateRegex in a JSF-Page
我有一个带有这个字符串的托管 bean 属性
private String itemNumber;
在 JSF 中,我想验证长度为 10 个字符的输入并且只允许数字。输入将有前面的零。例如“0000123456”
<h:inputText value="#{testBean.itemNumber}">
<f:validateRegex pattern="\d\d\d\d\d\d\d\d\d\d" />
</h:inputText>
输入“asdf123456”后,我会收到一条漂亮的验证消息。
但是在输入“0000123456”时我会得到这个异常
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
怎么了?有什么想法吗?
将绑定到输入文本字段的支持 bean 中的变量声明为 Integer
/Long
/BigDecimal
并使用
<f:validateLength maximum="10" minimum="10" />
而不是 <f:validateRegex pattern="\d\d\d\d\d\d\d\d\d\d" />
。
我有一个带有这个字符串的托管 bean 属性
private String itemNumber;
在 JSF 中,我想验证长度为 10 个字符的输入并且只允许数字。输入将有前面的零。例如“0000123456”
<h:inputText value="#{testBean.itemNumber}">
<f:validateRegex pattern="\d\d\d\d\d\d\d\d\d\d" />
</h:inputText>
输入“asdf123456”后,我会收到一条漂亮的验证消息。 但是在输入“0000123456”时我会得到这个异常
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
怎么了?有什么想法吗?
将绑定到输入文本字段的支持 bean 中的变量声明为 Integer
/Long
/BigDecimal
并使用
<f:validateLength maximum="10" minimum="10" />
而不是 <f:validateRegex pattern="\d\d\d\d\d\d\d\d\d\d" />
。