Validation 针对单个JSF验证器的多条消息

Validation 针对单个JSF验证器的多条消息,validation,jsf,Validation,Jsf,我遇到了阻塞情况,需要帮助。问题基本上是这样的: 页面上有一个附加到验证器的字段。此验证器依次验证特定关系中的其他字段,并应为验证失败的所有相关字段抛出错误消息 所以基本上我希望一个单一的验证器异常包含多个facesmessage,它应该显示在列表页面上。有没有办法做到这一点。据我所知,每个验证器异常都可以附加一个FacesMessage。因此,我尝试在一个FacesMessage字符串中的不同消息之间加上“\n”甚至“”,以新行显示消息,但它不起作用。有人能帮我吗?直接添加faces消息怎么样

我遇到了阻塞情况,需要帮助。问题基本上是这样的: 页面上有一个附加到验证器的字段。此验证器依次验证特定关系中的其他字段,并应为验证失败的所有相关字段抛出错误消息


所以基本上我希望一个单一的验证器异常包含多个facesmessage,它应该显示在列表页面上。有没有办法做到这一点。据我所知,每个验证器异常都可以附加一个FacesMessage。因此,我尝试在一个FacesMessage字符串中的不同消息之间加上“\n”甚至“”,以新行显示消息,但它不起作用。有人能帮我吗?

直接添加faces消息怎么样?例如,如果您有3个文本输入字段,希望在其中显示消息,并将它们绑定为input1、input2和input3:

FacesContext.getCurrentInstance().addMessage(
    input1.getClientId(FacesContext.getCurrentInstance()),
    new FacesMessage(FacesMessage.SEVERITY_ERROR, 
        "Validation Failed", "Validation Failed"));

FacesContext.getCurrentInstance().addMessage(
    input2.getClientId(FacesContext.getCurrentInstance()),
    new FacesMessage(FacesMessage.SEVERITY_ERROR, 
        "Validation Failed", "Validation Failed"));

FacesContext.getCurrentInstance().addMessage(
    input3.getClientId(FacesContext.getCurrentInstance()),
    new FacesMessage(FacesMessage.SEVERITY_ERROR, 
        "Validation Failed", "Validation Failed"));

我还没有尝试过,但我担心这种方法是否会将这些消息和其他验证器消息一起反映出来。我通过在submit方法中包含类似的方法尝试了类似的方法。但是,验证发生在不同的生命周期阶段,所有消息并没有立即发出。我的意思是,如果我让验证器1与消息1关联,验证器2与消息2及以上功能关联,添加消息3和消息4。在验证后,第一条和第二条消息将合并在一起,否则将显示消息3和4。希望我很清楚。当我们在项目中遇到这种情况时,我们不会在页面上放置任何验证器,而是通过bean上的submit方法来处理它。“这真是我们找到的最干净的方法了!”尼古拉斯我不必要地担心。您所说的方法对于显示单个字段的多个验证消息来说效果很好。