目前,可以在官方网站上查看Bean验证的新功能(JSR-349)。有许多以前的参数主要集中:
当我第一次接触Java Bean验证时,它是Hibernate Validator 5,Spring4开始使用。下一个
因为大多数时间验证都与Web框架结合使用,并且许多朋友都进行了咨询,例如数据包/交叉参数验证,因此本文介绍了这些内容,并且是与SpringMVC Framework集成的一个示例。官方文件:
如果要在消息中使用EL表达式,请确保EL表达式版本为2.2或更高,至少是Tomcat7或更高版本。
确保您使用的Web容器具有EL JAR软件包的相应版本。
直接在身份验证约束注释上指定错误消息,如下所示:
如上所示,错误消息是通过硬编码指定的。不建议使用此方法,因为以下场景不适用:
默认错误消息文件为/org/hibernate/validator/validationmess.properties,如下图所示::
默认错误消息密钥值在下图中显示:
自定义错误消息文件和错误消息键值定义错误消息文件以创建验证mess.properties文件在加载路径的根部。
自定义错误消息文件中的错误消息键值和错误消息文件的错误消息密钥值将覆盖默认错误消息文件中的错误消息密钥值。我们自定义的错误消息文件具有国际功能。
javax.validation.constraints.pattern.message =用户名必须从字母或向下开始,然后可以用字母在5-20之间拉下该行。
目前,查找错误消息密钥将首先转到ClassPath下的Properties。首先在默认错误消息文件中找到它。
使用Spring的MessageReRce bean查找消息键值。如果我们的环境与Spring集成在一起,则应由Spring提供的消息支持。特定配置如下如下
将以下错误消息添加到消息文件src/messages.properties:
当配置MessageSource bean时,默认对象将自动生成以下错误消息密钥:
使用的优先级是:从高到低点,即前面的最高优先级,上述所有默认错误消息键均高于自定义错误消息密钥。
以下错误消息密钥将自动生成:
在大多数情况下,以上两种方法无法满足我们的需求,因此我们需要自定义错误消息密钥值。
将以下错误消息添加到消息文件src/messages.properties:
user.name.error =用户名格式非法
将以下错误消息添加到消息文件src/messages.properties:
错误消息中的5-20应从@Length验证约束注释中获得,而不是错误消息中的硬码,因此我们需要占用字符的支持:
错误消息可以像这样写:用户名长度必须在{min} - {max}之间。
错误消息规则:{验证注入属性名称}:
功能处理方法中多个验证参数的处理
当我们需要在功能处理方法中验证多个模型对象时,我们需要通过以下形式获得验证结果:
在每个模型对象之后,您需要使用错误或绑定对象保留验证结果。当错误跳跃时,可以在方法内使用两个验证结果来选择页面。