我在我的应用程序中使用validation-api
版本1.1.0.Final
和hibernate-validator
版本4.3.1.Final
。这是我需要验证的模型类
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
public class User {
@NotEmpty(message = "Zipcode is empty")
@Pattern(regexp = "^-?[0-9]\\d*(\\.\\d+)?$", message = "Zipcode value ${validatedValue} is invalid. Expected value {regexp}")
private String zipcode;
但${validatedValue}
没有打印出来。当我打电话给beanclass
时,我想以某种方式获得验证后的价值以及validator.validate(..)
中的消息。
从blog
开始,我读到“Hibernate Validator 5
需要版本Unified Expression Language (EL)
或更高版本中的2.2
。Tomcat 7
提供EL 2.2
开箱即用,Tomcat 6
仅提供EL 2.1
实施,但不适用于Hibernate Validator
。“
但由于某些原因,我无法将hibernate validator version
升级到5.x
,因为我使用的是自定义部署服务器而不是Tomcat。