Details
Description
The severity of messages is always set (overwritten) to SEVERITY_ERROR when a ValidatorException is thrown during validation. In org.apache.myfaces.view.facelets.compiler._ComponentUtils I see that we always call
facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR);
when processing a ValidatorException. This might make sense if we're assuming that all faces messages default to some other severity, but it doesn't seem right to me that we're overwriting user-set message severities. For example, given the following custom validator:
public void validate(FacesContext context, UIComponent component, Object value) {
if (value == null)
}
The severity of the custom message will always be set to SEVERITY.ERROR. I don't see much guidance in the spec on this, but Mojarra behaves differently - it does not overwrite custom FacesMessage severities.