我有一个具有此字符串属性的托管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
怎么了?有什么想法吗?
答案 0 :(得分:2)
在与您的输入文本字段绑定的后备bean中将变量声明为 Integer
/ Long
/ BigDecimal
并使用
<f:validateLength maximum="10" minimum="10" />
代替<f:validateRegex pattern="\d\d\d\d\d\d\d\d\d\d" />
。