jsf(richfaces)只读输入文本validation

有没有什么方法可以validation一个只读的jsf输入文本,但是在触发其他一些事件时值会被更改?

回答评论:“在jsf页面支持bean中validation它不是更容易吗?” 您可以在按钮单击或类似事件上执行应用程序级validation。 你可以在你的支持bean中做这样的事情并将它链接到事件。

 public String login(){ FacesContext context = FacesContext.getCurrentInstance(); if(**<>**){ FacesMessage message = new FacesMessage(); message.setSeverity(FacesMessage.SEVERITY_ERROR); message.setSummary("Some Valication check"); message.setSummary("Some Valication check!!"); context.addMessage("userForm:firstName", message);//adds validation message for field firstName in form userForm return "ERROR"; } return "SUCCESS"; } 

希望这有帮助。

我通过解决方法解决了这个问题。 我添加了一个inputHidden字段,该字段具有required属性true ,该字段不会出现在界面上,但会被validation:

  

bean.value的值由其他事件更改,并且在inputHidden上的某个reRender处,将进行validation。

您很可能必须直接从事件中手动调用validation逻辑。 这是IBM的JSF生命周期模型。

在此处输入图像描述

您会注意到Process Validations阶段发生在通常处理事件的Invoke Application阶段之前。 这种情况很好地发生,因此validation不会自动发生。