如何在JSF-Page中使用validateRegex验证inputText中的数字字符串

问题描述 投票:2回答:1

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

怎么了?有任何想法吗?

regex validation jsf digits
1个回答
2
投票

声明绑定到输入文本字段的辅助bean中的变量Integer / Long / BigDecimal并使用

<f:validateLength maximum="10" minimum="10" />

而不是<f:validateRegex pattern="\d\d\d\d\d\d\d\d\d\d" />

© www.soinside.com 2019 - 2024. All rights reserved.