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);