You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2009/10/23 16:44:18 UTC

svn commit: r829079 - in /myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor: HtmlCoreComponentsValidationExceptionInterceptor.java ValidationInterceptor.java

Author: gpetracek
Date: Fri Oct 23 14:44:16 2009
New Revision: 829079

URL: http://svn.apache.org/viewvc?rev=829079&view=rev
Log:
EXTVAL-44 minor changes

Modified:
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/HtmlCoreComponentsValidationExceptionInterceptor.java
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/HtmlCoreComponentsValidationExceptionInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/HtmlCoreComponentsValidationExceptionInterceptor.java?rev=829079&r1=829078&r2=829079&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/HtmlCoreComponentsValidationExceptionInterceptor.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/HtmlCoreComponentsValidationExceptionInterceptor.java Fri Oct 23 14:44:16 2009
@@ -34,7 +34,6 @@
 import org.apache.commons.logging.LogFactory;
 
 import javax.faces.component.UIComponent;
-import javax.faces.component.EditableValueHolder;
 import javax.faces.component.html.HtmlInputText;
 import javax.faces.component.html.HtmlInputSecret;
 import javax.faces.component.html.HtmlSelectBooleanCheckbox;
@@ -105,12 +104,6 @@
             {
                 //correct severity is e.g. provided by ViolationSeverityValidationExceptionInterceptor
                 ExtValUtils.tryToBlocksNavigationForComponent(uiComponent, facesMessage);
-                if(!FacesContext.getCurrentInstance().getRenderResponse())
-                {
-                    //it's a special case - since validation will continue it's essential to reset it
-                    ((EditableValueHolder)uiComponent).setRequired(false);
-                    return false;
-                }
             }
         }
         return true;

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java?rev=829079&r1=829078&r2=829079&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java Fri Oct 23 14:44:16 2009
@@ -26,11 +26,13 @@
 import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
 import org.apache.myfaces.extensions.validator.core.property.PropertyInformation;
 import org.apache.myfaces.extensions.validator.core.ExtValContext;
+import org.apache.myfaces.extensions.validator.core.renderkit.exception.SkipAfterInterceptorsException;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
 
 import javax.faces.context.FacesContext;
 import javax.faces.component.UIComponent;
 import javax.faces.component.EditableValueHolder;
+import javax.faces.render.Renderer;
 import java.util.Map;
 import java.lang.annotation.Annotation;
 
@@ -41,6 +43,21 @@
 @UsageInformation(UsageCategory.INTERNAL)
 public class ValidationInterceptor extends AbstractValidationInterceptor
 {
+    @Override
+    public void afterDecode(FacesContext facesContext, UIComponent uiComponent, Renderer wrapped)
+            throws SkipAfterInterceptorsException
+    {
+        /*
+         * component initialization sets a component to required if there are constraints which indicate it
+         * the required flag in a component leads to problems with h:messages (additional message) as well as
+         * incompatibilities with skip validation and severities
+         */
+        if(uiComponent instanceof EditableValueHolder)
+        {
+            ((EditableValueHolder)uiComponent).setRequired(false);
+        }
+    }
+
     protected void initComponent(FacesContext facesContext, UIComponent uiComponent)
     {
         if(logger.isTraceEnabled())
@@ -111,9 +128,6 @@
             {
                 if(skipValidationEvaluator.skipValidation(facesContext, uiComponent, validationStrategy, entry))
                 {
-                    //required is a special case - reset it
-                    ((EditableValueHolder)uiComponent).setRequired(false);
-
                     //don't break maybe there are constraints which don't support the skip-mechanism
                     continue;
                 }