|
Thanks for pointing me this case Ollie. I can use following changes to
fix this: protected void init() { addPropertyChangeListener(ENABLED_PROPERTY, new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { validatingUpdated(); } }); } // if validating is enabled, check if model is enabled public boolean isValidating() { return validating ? isEnabled() : false; } public void setValidating(boolean validating) { this.validating = validating; validatingUpdated(); } protected void validatingUpdated() { boolean validating = isValidating(); if (hasChanged(oldValidating, validating)) { if (validating) { validate(); } else { validationResultsModel.clearAllValidationResults(); } oldValidating = validating; firePropertyChange(VALIDATING_PROPERTY, !validating, validating); } } And using isValidating() everywhere instead of just the validate field Kind Regards, Jan [EMAIL PROTECTED] wrote: Jan what about the case where the model had validation disabled before the model is disabled and then enabled? This change would result in validation becoming enabled which seems incorect to me.Ollie On 4/26/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:Revision: 1093 Author: jhoskens Date: 2006-04-26 00:32:23 -0700 (Wed, 26 Apr 2006) ViewCVS: http://svn.sourceforge.net/spring-rich-c/?rev=1093&view=rev Log Message: ----------- DefaultFormModel now registers a listener on the enabled property to turn on/off the validation. Listener is attached in init(). Modified Paths: -------------- trunk/spring-richclient/support/src/main/java/org/springframework/binding/form/support/DefaultFormModel.java trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/DefaultFormModelTests.java Modified: trunk/spring-richclient/support/src/main/java/org/springframework/binding/form/support/DefaultFormModel.java =================================================================== --- trunk/spring-richclient/support/src/main/java/org/springframework/binding/form/support/DefaultFormModel.java 2006-04-26 06:46:47 UTC (rev 1092) +++ trunk/spring-richclient/support/src/main/java/org/springframework/binding/form/support/DefaultFormModel.java 2006-04-26 07:32:23 UTC (rev 1093) @@ -68,32 +68,56 @@ private BindingErrorMessageProvider bindingErrorMessageProvider = new DefaultBindingErrorMessageProvider(); public DefaultFormModel() { + init(); } public DefaultFormModel(Object domainObject) { super(domainObject); + init(); } public DefaultFormModel(Object domainObject, boolean buffered) { super(domainObject, buffered); + init(); } public DefaultFormModel(ValueModel domainObjectHolder) { super(domainObjectHolder); + init(); } public DefaultFormModel(ValueModel domainObjectHolder, boolean buffered) { super(domainObjectHolder, buffered); + init(); } public DefaultFormModel(MutablePropertyAccessStrategy domainObjectAccessStrategy) { super(domainObjectAccessStrategy, true); + init(); } public DefaultFormModel(MutablePropertyAccessStrategy domainObjectAccessStrategy, boolean bufferChanges) { super(domainObjectAccessStrategy, bufferChanges); + init(); } + + /** + * Initialization of DefaultFormModel. + * Adds a listener on the Enabled property in order to switch validating state + * on or off. When disabling a formModel, no validation will happen. + */ + protected void init() + { + addPropertyChangeListener(ENABLED_PROPERTY, new PropertyChangeListener(){ + public void propertyChange(PropertyChangeEvent evt) + { + setValidating(evt.getNewValue() == Boolean.TRUE ? true : false); + } + + }); + } + public boolean isValidating() { return validating; } @@ -149,9 +173,7 @@ if (!(formValueModel instanceof ValidatingFormValueModel)) { return new ValidatingFormValueModel(formProperty, formValueModel, true); } - else { - return formValueModel; - } + return formValueModel; } protected void postProcessNewValueModel(String formProperty, ValueModel valueModel) { Modified: trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/DefaultFormModelTests.java =================================================================== --- trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/DefaultFormModelTests.java 2006-04-26 06:46:47 UTC (rev 1092) +++ trunk/spring-richclient/support/src/test/java/org/springframework/binding/form/support/DefaultFormModelTests.java 2006-04-26 07:32:23 UTC (rev 1093) @@ -309,15 +309,14 @@ private static class TestDefaultFormModel extends DefaultFormModel { public TestDefaultFormModel(Object bean) { super(bean, false); - init(); } public TestDefaultFormModel(BeanPropertyAccessStrategy pas, boolean buffering) { super(pas, buffering); - init(); } - private void init() { + public void init() { + super.init(); setValidator(new TestValidator()); setBindingErrorMessageProvider(new BindingErrorMessageProvider() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ spring-rich-c-cvs mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/spring-rich-c-cvs------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd_______________________________________________ spring-rich-c-cvs mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/spring-rich-c-cvs |
- [Spring-rich-c-cvs] SF.net SVN: spring-rich-c: [1093] trunk/sp... jhoskens
- Re: [Spring-rich-c-cvs] SF.net SVN: spring-rich-c: [1093]... hutchiko
- Re: [Spring-rich-c-cvs] SF.net SVN: spring-rich-c: [1... Jan Hoskens
