我目前正在研究在glassfish上运行的JSF 2应用程序(带有primefaces)。 我们的datamodel是标准(AIXM),因此我们无法对其进行修改。验证规则在模型上定义。
在我们的应用程序中,guis不会反映模型。 例如,不显示模型中的某些字段(它们是根据用户输入计算的)。 该模型还有一个ConditionCombination类,允许表示对象列表之间的逻辑关系。 在我们的应用程序中,我们只使用其中2个对象列表。 所以我们计算了ConditionCombination的一些属性。
由于我们有交叉字段验证(使用JSF验证机制似乎很难做到),我们选择在模型级别进行验证。 但是一些错误消息对用户没有意义。 例如,某些错误消息位于未向用户显示的字段上。
对于如何改进此验证有任何想法吗? (或者我们应该在JSF级别实现它,并从模型角度重写所有验证规则到视图透视图)
答案 0 :(得分:1)
您可以使用FacesContext context = FacesContext.getCurrentInstance(); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Your message here", null));
只需在模型中编写代码并在代码上方附加自定义消息。