This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new 1efdcdc0 EMPIREDB-430 Bugfix for InputTag and ControlTag value 
validation inside a UIData loop
1efdcdc0 is described below

commit 1efdcdc0d89a3d77cd561191664068ff7e1357e6
Author: Rainer Döbele <[email protected]>
AuthorDate: Wed Jul 3 14:24:15 2024 +0200

    EMPIREDB-430
    Bugfix for InputTag and ControlTag value validation inside a UIData loop
---
 .../main/java/org/apache/empire/jakarta/components/ControlTag.java   | 5 +++--
 .../src/main/java/org/apache/empire/jakarta/components/InputTag.java | 5 +++--
 .../src/main/java/org/apache/empire/jsf2/components/ControlTag.java  | 5 +++--
 .../src/main/java/org/apache/empire/jsf2/components/InputTag.java    | 5 +++--
 4 files changed, 12 insertions(+), 8 deletions(-)

diff --git 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
index db4cbcf1..b84c9f70 100644
--- 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
+++ 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
@@ -672,8 +672,9 @@ public class ControlTag extends UIInput implements 
NamingContainer
         if (helper.isInsideUIData() && getChildCount()>0)
         {   // update input state
             updateControlInputState(context);
-            // No need to processValidators for children
-            setRenderInput(false);
+            // Only if value was submitted
+            boolean hasValue = (getSubmittedValue()!=null);
+            setRenderInput(hasValue);
         }
         // process all validators (including children)
         super.processValidators(context);
diff --git 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java
 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java
index 5c2c8d78..5f56fafc 100644
--- 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java
+++ 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java
@@ -284,8 +284,9 @@ public class InputTag extends UIInput implements 
NamingContainer
         if (helper.isInsideUIData() && getChildCount()>0)
         {   // update input state
             updateControlInputState(context);
-            // No need to processValidators for children
-            setRenderInput(false);
+            // Only if value was submitted
+            boolean hasValue = (getSubmittedValue()!=null);
+            setRenderInput(hasValue);
         }
         // process all validators (including children)
         super.processValidators(context);
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
index 97c90ea6..93d723b2 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
@@ -672,8 +672,9 @@ public class ControlTag extends UIInput implements 
NamingContainer
         if (helper.isInsideUIData() && getChildCount()>0)
         {   // update input state
             updateControlInputState(context);
-            // No need to processValidators for children
-            setRenderInput(false);
+            // Only if value was submitted
+            boolean hasValue = (getSubmittedValue()!=null);
+            setRenderInput(hasValue);
         }
         // process all validators (including children)
         super.processValidators(context);
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
index f4cec37e..6427fc0d 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
@@ -284,8 +284,9 @@ public class InputTag extends UIInput implements 
NamingContainer
         if (helper.isInsideUIData() && getChildCount()>0)
         {   // update input state
             updateControlInputState(context);
-            // No need to processValidators for children
-            setRenderInput(false);
+            // Only if value was submitted
+            boolean hasValue = (getSubmittedValue()!=null);
+            setRenderInput(hasValue);
         }
         // process all validators (including children)
         super.processValidators(context);

Reply via email to