验证JSF中的类级别bean验证约束

Vog*_*612 3 jsf hibernate-validator bean-validation jsf-2 class-level

似乎JSF 2.0没有调用"类级别约束".引用SO答案

JSF 2.0不调用类级验证约束.来自JSF验证: JSF 2提供了与JSR-303约束的内置集成.在应用程序中使用bean验证时,JSF会自动使用UIInput值引用的Bean约束.

答案还建议使用SeamFaces来验证类级约束.

不幸的是,这是一个非选择,因为它引入了一个有点大量的依赖,只是为了验证应该验证什么.

我的问题是:

如何让JSF验证类级约束?

控制器中的手动验证是繁琐的,并且有很多重复的代码,因此我想避免使用它.

我试图通过注释要验证的Controller-Field来做到@Valid这一点,这没有帮助.

应该可以让"流程验证"阶段为我做这件事,或者在Filter"更新模型值"阶段之后挂钩类似于a的东西,它将通过验证集中运行模型值.

Bal*_*usC 7

在即将推出的JSF 2.3之前,JSF不支持使用ao进行类级别验证@Valid.这是一个永恒的问题,因为第一个JSF规范问题曾经解决过这个问题.

您的度假村要么使用已经处理过的第三方图书馆,要么根据相关开源图书馆的来源进行自酿(将许可考虑在内).

除了SeamFaces<s:validateForm>您已经发现,这里还有OmniFaces<o:validateBean>.<s:validateForm>与之相比的主要区别在于它不使用JSFValidator,而是使用JSR303ConstraintValidator(并且您可以立即掌握整个实体,而无需声明和注释一堆字段,重复实体的属性.

JSF 2.3的支持将<f:validateWholeBean>主要基于OmniFaces <o:validateBean>.