Java 如果验证失败,如何在验证阶段后签入?
我已经编写了一个Java 如果验证失败,如何在验证阶段后签入?,java,validation,jsf,Java,Validation,Jsf,我已经编写了一个PhaseListener,其中我正在检查验证阶段。是否有一种方法可用于在侦听器的afterPhase()方法中检查验证是否失败,验证阶段后的下一个阶段将是呈现响应阶段。使用FacesContext如何,您是否可以检查是否有任何排队消息?例如 FacesContext context = FacesContext.getCurrentInstance(); Iterator<FacesMessage> messages = context.getMessages();
PhaseListener
,其中我正在检查验证阶段。是否有一种方法可用于在侦听器的afterPhase()
方法中检查验证是否失败,验证阶段后的下一个阶段将是呈现响应阶段。使用FacesContext如何,您是否可以检查是否有任何排队消息?例如
FacesContext context = FacesContext.getCurrentInstance();
Iterator<FacesMessage> messages = context.getMessages();
FacesContext context=FacesContext.getCurrentInstance();
迭代器消息=context.getMessages();
希望有帮助。在FacesContext中使用错误的最大严重性
Severity maximumSeverity = FacesContext.getCurrentInstance().getMaximumSeverity();
boolean validationFailed=false;
if (maximumSeverity != null
&& (maximumSeverity==FacesMessage.SEVERITY_ERROR || maximumSeverity
==FacesMessage.SEVERITY_FATAL)) {
validationFailed=true;
}
如果validationFailed的值为true,则会出现一些错误消息。如果您使用的是JSF 2.0,请使用检查它
if (context.isValidationFailed()) {
// Validation has failed.
}
顺便说一下,您还可以在视图侧检查它,如下所示:
验证失败
这正是我现在要做的,FacesContext.getCurrentInstance().getMaximumSeverity!=null,谢谢:)如果您有自己的验证器,可以验证信息或警告消息,那么您可能必须忽略它。