0

我想在我的 JSF 2 项目中使用 JSR 303(休眠验证器)。但是,我的表单很复杂,字段级别的验证还不够。我需要在模型及其子 bean 的类级别使用许多 @ScriptAssert 注释。

所以我想手动验证表单模型(例如在 bean action 方法中)。但是我不明白如何保留应该在哪个字段显示哪个验证消息(因为它在启用字段级验证并由 JSF 处理时自动工作)。

此外,我需要为一些类级别的注释指定它们的消息将显示在特定字段中。我没有看到直接的方法来管理它......

您能否提供解释这些问题的链接(或告诉我我做错了什么?)。我想我在谷歌上搜索失败是因为互联网上充斥着关键词 JSF 和验证,对不起。

4

1 回答 1

0

最惯用的方法是为您的类创建自定义 Bean Validation 验证器。

您需要创建将放在类级别(而不是字段级别)并与该类验证器类相关联的验证注释。

参见例如:

托管 bean 内部的验证也是可能的,您可以在您的操作方法中抛出适当的验证异常,但通常它很麻烦,难以重用并且将业务逻辑代码与验证混合在一起。

于 2013-04-19T21:01:24.863 回答