我有一个带有此字符串属性的托管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" />
。