// internal helpers
private boolean validateModel(FacesContext facesContext, String eventId) {
boolean isValid = true;
RequestContext requestContext = RequestContextHolder.getRequestContext();
Object model = getModelObject(requestContext);
if (shouldValidate(requestContext, model, eventId)) {
validate(requestContext, model, eventId);
if (requestContext.getMessageContext().hasErrorMessages()) {
isValid = false;
if (requestContext.getExternalContext().isAjaxRequest()) {
List fragments = new ArrayList();
String formId = getModelExpression(requestContext).getExpressionString();
if (facesContext.getViewRoot().findComponent(formId) != null) {
fragments.add(formId);
}
if (facesContext.getViewRoot().findComponent(MESSAGES_ID) != null) {
fragments.add(MESSAGES_ID);
}
if (fragments.size() > 0) {
String[] fragmentsArray = new String[fragments.size()];
for (int i = 0; i < fragments.size(); i++) {
fragmentsArray[i] = (String) fragments.get(i);
}
requestContext.getFlashScope().put(View.RENDER_FRAGMENTS_ATTRIBUTE, fragmentsArray);
}
}
}
}
return isValid;