Jsf 如何对数值使用f:validateRegex
我用这个正则表达式Jsf 如何对数值使用f:validateRegex,jsf,Jsf,我用这个正则表达式^(\+968 | 968 | 00968)?\d{8}$作为电话号码。它必须是8位数字,以9或7开头 但我得到了一个错误: 无法将java.lang.Integer转换为java.lang.String 在bean中,电话号码是一个整数,这意味着java.lang.Integer不能是需要转换的java.lang.String。f:validateRegex需要一个字符串值(或字符序列,具体取决于JSF实现),因此不能用于整数。因此,您需要在UI中使用字符串值,并在将其保
^(\+968 | 968 | 00968)?\d{8}$
作为电话号码。它必须是8位数字,以9或7开头
但我得到了一个错误:
无法将java.lang.Integer转换为java.lang.String
在bean中,电话号码是一个
整数
,这意味着java.lang.Integer不能是需要转换的java.lang.String。f:validateRegex
需要一个字符串
值(或字符序列
,具体取决于JSF实现),因此不能用于整数
。因此,您需要在UI中使用字符串值,并在将其保存到数据库之前将其转换为数字。如果您使用的是JPA,那么您可以使用AttributeConverter
。但我必须说,在我看来,将电话号码存储为数字数据库字段是一个奇怪的选择
另见:
离题:试试看,电话号码一开始不是整数。怎么做?我正在将电话号码保存到数据库中,这是为了注册客户,电话号码在我的数据库中是整数