Author: tim
Date: Tue Nov 9 11:28:03 2004
New Revision: 57073
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Field.java
Log:
Cforms Field: Make sure old value has been parsed and validated.
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Field.java
==============================================================================
---
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Field.java
(original)
+++
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/formmodel/Field.java
Tue Nov 9 11:28:03 2004
@@ -201,17 +201,18 @@
// Only convert if the text value actually changed. Otherwise, keep
the old value
// and/or the old validation error (allows to keep errors when
clicking on actions)
if (!(newEnteredValue == null ? "" :
newEnteredValue).equals((enteredValue == null ? "" : enteredValue))) {
+ // Make sure the old value has been parsed and validated.
+ Object oldValue = getValue();
enteredValue = newEnteredValue;
validationError = null;
- Object oldValue = value;
value = null;
this.valueState = VALUE_UNPARSED;
if (hasValueChangedListeners()) {
- // Throw an event that will parse the value only if needed.
- // This event holds the old value and will lazily compute the
new one if needed
+ // Throw an event that will hold the old value and
+ // will lazily compute the new value only if needed.
getForm().addWidgetEvent(new DeferredValueChangedEvent(this,
oldValue));
- }
+ }
}
}