我有以下问题,有一个常规的spring模型(我们称之为“a”),带有一些与验证相关的注释。接下来是一个命令对象(定义一些字段的常规POJO类,其中一个是类型a的对象)。command对象实现了Validator接口,以使绑定和验证在控制器方法中工作。
问题是,如何在命令对象内部使用注释配置的验证(因为它实现了Validator接口,所以它有supports()和validate()方法)。
我试图实现的是对模型进行基本的验证,这些验证可以重用,并与系统其他部分中一些更重的业务逻辑验证混合在一起。
一旦看了这个,这可能会帮助你同时使用JSR-303和传统Bean验证?。我已经给出了一个使用自定义注释对模型进行自定义验证的示例。
我也有同样的问题。我想对“简单的事情”使用自动注释验证,然后将复杂的验证逻辑传递给我的定制spring验证器。但每当我设置控制器验证程序时,hibernate的所有验证都停止工作,如本教程末尾所述:
http://www.captaindebug.com/2011/07/applying-custom-spring-validator-to.html#.VQR0OI7F-gd
当您需要自己完成所有控制器的验证,并且不能或不想使用Hibernate的JSR303验证程序的参考实现时,应该使用这种技术。从这一点上,您会猜到,您不能将自己的定制Spring验证器与Hibernate的JSR303验证器混合使用。例如,将内置注释添加到Address命令对象将无效:
您应该忘记旧式Spring验证器,删除“setInitBinder()”,如本相关问题所述:
Spring MVC验证器注释自定义验证
然后,您应该只依赖Hibernate验证和JSR303。
要向类(模型)添加复杂的验证,假设您想要检查两个日期字段——在类级别使用自定义注释约束,如下面的链接所述。
https://docs.jboss.org/hibernate/validator/5.1/reference/en-US/html/validator-customconstraints.html#section-类级约束
希望这有帮助。
向你问好,亚历山大
问题内容: 我正在研究一种基于注释的方法,用于使用spring模块验证Spring bean 。在本教程中,以以下bean(省略了getter和setters)为例: 如果不遵守特定的验证规则,则会使用以下错误消息: 上面显示的类的示例包括: 消息键包含类名的事实带来了两个问题: 如果重命名该类,则还需要更改消息键 如果我有另一个类(例如Person),其类的电子邮件属性已与User.email进
我有一个使用javax注释的jax-rs项目(
我试图让Spring Security的基本身份验证与JWT令牌身份验证同时工作,但没有成功。我已经为web控制台和JWT实现了基本身份验证,以保护许多APIendpoint。下面是我的配置: } 我注意到,我用Order(1)注释的配置是Spring Security选择的配置,而另一个完全被忽略。像上面的配置一样,如果我尝试访问/console/login,我会得到401错误。任何帮助都将不胜
我正在开发spring mvc应用程序,我应该在spring mvc validator的基础上应用验证。第一步,我为类和设置控制器添加了注释,效果很好。现在我需要实现自定义验证器来执行复杂的逻辑,但我想使用现有的注释并添加额外的检查。 我的用户类: 我的验证器: 我的控制器: 那么,有可能同时使用自定义验证器和注释吗?如果是,怎么做?
我想知道是否有可能将一些自定义类型的新约束验证器注册到Bean验证规范定义的注释中。例如,让我们想象一下,我有一个类,它累加了几个int值 我想注册一个自定义约束验证器来支持这种类型的@正向注释(而不是创建自定义注释)。 这样以后我就可以使用这个:
问题内容: 我正在使用Hibernate和Spring Annotations进行很多验证,如下所示: 然后在控制器中,在参数中调用它: 但是我想根据控制器方法中的某些逻辑来决定使用的组。有没有办法手动调用验证?像什么? 我知道要创建自己的Validator类,但是这是我要避免的事情,我宁愿只在类变量本身上使用批注。 问题答案: 比 Jaiwo99 更进一步: 如果您有兴趣,还可以指向SmartV