[
https://issues.apache.org/jira/browse/MYFACES-4051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15342234#comment-15342234
]
Bill Lucy commented on MYFACES-4051:
------------------------------------
I see that the api for UIData.encodeBegin has "In addition to the default
behavior, ensure that any saved per-row state for our child input components is
discarded unless it is needed to rerender the current page with errors. "
Perhaps I'm missing it, but I don't immediately see anything about updating
preexisting message severities based on an error scenario.
> FacesMessage.Severity always set to ERROR after ValidatorException
> ------------------------------------------------------------------
>
> Key: MYFACES-4051
> URL: https://issues.apache.org/jira/browse/MYFACES-4051
> Project: MyFaces Core
> Issue Type: Bug
> Affects Versions: 2.2.10
> Environment: Tomcat, WebSphere Liberty
> Reporter: Bill Lucy
> Attachments: MYFACES-4051.patch
>
>
> 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) {
> List<FacesMessage> messageList = new ArrayList<>();
> messageList.add(new
> FacesMessage(FacesMessage.SEVERITY_INFO,
> "ValidatorException#SEVERITY_INFO",
> "ValidatorException#SEVERITY_INFO"));
> throw new ValidatorException(messageList);
> }
> }
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)