• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Help needed with ERDEditHTML component
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help needed with ERDEditHTML component


  • Subject: Re: Help needed with ERDEditHTML component
  • From: Ramsey Gurley <email@hidden>
  • Date: Tue, 05 Jul 2011 16:52:17 -0700

If commenting out your existing validation methods fixed it, take a second look at them and make sure you are not modifying your EO in them anywhere.  

Validation methods should only be used to coerce the value passed in and/or to throw validation exceptions when the state of the object is not acceptable.  Modifications to EOs are best handled in willUpdate, willInsert, and willDelete.

Ramsey


On Jul 5, 2011, at 4:17 PM, Daniel Mejia wrote:

Ramsey,

I deleted all the validations for other fields that I have in the EO and now is working correctly.  I need to figure out what is the problem in my code, but now is working fine.

Thank you for your help.

Regards,

Daniel.


On 05/07/2011, at 15:50, Ramsey Gurley wrote:

And you have not touched?

10 : task = 'edit' => shouldValidateBeforeSave = "true" [com.webobjects.directtoweb.BooleanAssignment]

Odd. I would expect EOF to be catching a null value on a required attribute during validateForInsert(). Are you sure it is non-null in the database AND the EOModel? 

As a quick fix, you could simply override validateForInsert() or validateForSave() on your model object and check for nullness yourself.  If null, throw a validation exception that should be caught and handled by the D2W side.

Ramsey

On Jul 5, 2011, at 11:04 AM, Daniel Mejia wrote:

Sure.

Here is what I get if I disable the rule for the field Domicilio that assigns the componentName to ERDEditHTML. That is what is expected.

<PastedGraphic-1.tiff>

Here is what I get if I enable the rule:  100 : (task = 'edit' and propertyKey like '*domicilio') => componentName = "ERDEditHTML" [com.webobjects.directtoweb.Assignment]

com.webobjects.eoaccess.EOGeneralAdaptorException: EvaluateExpression failed: : Next exception:SQL State:23000 -- error code: 1048 -- msg: Column 'DOMICILIO' cannot be null
Reason:EvaluateExpression failed: <com.webobjects.jdbcadaptor.MySQLPlugIn$MySQLExpression: "INSERT INTO pacientes(EDO, APELLIDO_MATERNO, TIPO_SEGURO, GENERO, APELLIDO_PATERNO, CIUDAD, DELEG_MUN, NOMBRE_PACIENTE, PAIS, EMAIL, EDO_CIVIL, DOMICILIO, APELLIDO_CASADA, TELEFONO_OF, ID_PACIENTE, CP, CURP, FECHA_NACIMIENTO, REFERENCIA, TELEFONO_CEL, COLONIA, TELEFONOS) VALUES (NULL, ?, NULL, ?, ?, NULL, NULL, ?, NULL, NULL, ?, NULL, NULL, NULL, ?, NULL, NULL, ?, NULL, NULL, NULL, NULL)" withBindings: 1:"9999"(apellidoMaterno), 2:"1"(genero), 3:"9999"(apellidoPaterno), 4:"999"(nombrePaciente), 5:"0"(edoCivil), 6:16238(idPaciente), 7:2000-10-10 12:00:00(fechaNacimiento)>: Next exception:SQL State:23000 -- error code: 1048 -- msg: Column 'DOMICILIO' cannot be null
Stack trace:
FileLine#MethodPackage

EODatabaseContext.java4504_exceptionWithDatabaseContextInformationAddedcom.webobjects.eoaccess
EODatabaseContext.java6216performChangescom.webobjects.eoaccess
EOObjectStoreCoordinator.java376saveChangesInEditingContextcom.webobjects.eocontrol
EOEditingContext.java3192saveChangescom.webobjects.eocontrol
ERXEC.java1085: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">_saveChangeser.extensions.eof
ERXEC.java1007: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">saveChangeser.extensions.eof
ERD2WInspectPage.java217: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">tryToSaveChangeser.directtoweb.pages
ERD2WInspectPage.java263: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">submitActioner.directtoweb.pages
ERMODInspectPage.java95: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">submitActioner.modern.look.pages
NativeMethodAccessorImpl.javaNAinvoke0sun.reflect
NativeMethodAccessorImpl.java39: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokesun.reflect
DelegatingMethodAccessorImpl.java25: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokesun.reflect
Method.java597invokejava.lang.reflect
NSKeyValueCoding.java636methodValuecom.webobjects.foundation
NSKeyValueCoding.java1134valueInObjectcom.webobjects.foundation
NSKeyValueCoding.java1324valueForKeycom.webobjects.foundation
WOComponent.java1736valueForKeycom.webobjects.appserver
NSKeyValueCoding.java447valueForKeycom.webobjects.foundation
NSKeyValueCodingAdditions.java212valueForKeyPathcom.webobjects.foundation
WOComponent.java1804valueForKeyPathcom.webobjects.appserver
WOKeyValueAssociation.java50valueInComponentcom.webobjects.appserver._private
WOComponent.java731valueForBindingcom.webobjects.appserver
WOBindingNameAssociation.java44valueInComponentcom.webobjects.appserver._private
WOComponent.java731valueForBindingcom.webobjects.appserver
WOBindingNameAssociation.java44valueInComponentcom.webobjects.appserver._private
WOComponent.java731valueForBindingcom.webobjects.appserver
WOBindingNameAssociation.java44valueInComponentcom.webobjects.appserver._private
WOGenericElement.java137invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOConditional.java86invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOComponent.java1079invokeActioncom.webobjects.appserver
ERXComponent.java102: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components
ERXNonSynchronizingComponent.java60: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components
CCSubmitLink.java61: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.coolcomponents
WOComponentReference.java127invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOComponent.java1079invokeActioncom.webobjects.appserver
ERXComponent.java102: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components
ERXNonSynchronizingComponent.java60: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components
WOComponentReference.java127invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOConditional.java86invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOComponent.java1079invokeActioncom.webobjects.appserver
ERXComponent.java102: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components
ERXNonSynchronizingComponent.java60: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components
WOComponentReference.java127invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOConditional.java86invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOConditional.java86invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WOGenericContainer.java29invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOConditional.java86invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOComponentContent.java38invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOComponentContent.java38invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
ERXWOForm.java219: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
ERXWOConditional.java113: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeChildrenActioner.extensions.components.conditionals
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
ERXWOConditional.java104: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components.conditionals
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOConditional.java86invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOComponent.java1079invokeActioncom.webobjects.appserver
ERXComponent.java102: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components
ERXNonSynchronizingComponent.java60: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components
WOComponentReference.java127invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
AjaxDynamicElement.java98: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.ajax
AjaxUpdateContainer.java80: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.ajax
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOComponent.java1079invokeActioncom.webobjects.appserver
ERXComponent.java102: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components
WOComponentReference.java127invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOComponentContent.java38invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOHTMLURLValuedElement.java149invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOConditional.java86invokeActioncom.webobjects.appserver._private
WODynamicGroup.java105invokeChildrenActioncom.webobjects.appserver._private
WODynamicGroup.java115invokeActioncom.webobjects.appserver._private
WOComponent.java1079invokeActioncom.webobjects.appserver
ERXComponent.java102: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components
WOComponentReference.java127invokeActioncom.webobjects.appserver._private
ERXSwitchComponent.java117: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.components._private
WOComponent.java1079invokeActioncom.webobjects.appserver
ERD2WPage.java619: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.directtoweb.pages
WOSession.java1357invokeActioncom.webobjects.appserver
WOApplication.java1745invokeActioncom.webobjects.appserver
ERXAjaxApplication.java93: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.appserver.ajax
ERXApplication.java1869: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">invokeActioner.extensions.appserver
WOComponentRequestHandler.java206_dispatchWithPreparedPagecom.webobjects.appserver._private
WOComponentRequestHandler.java298_dispatchWithPreparedSessioncom.webobjects.appserver._private
WOComponentRequestHandler.java332_dispatchWithPreparedApplicationcom.webobjects.appserver._private
WOComponentRequestHandler.java369_handleRequestcom.webobjects.appserver._private
WOComponentRequestHandler.java442handleRequestcom.webobjects.appserver._private
WOApplication.java1687dispatchRequestcom.webobjects.appserver
ERXApplication.java1984: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">dispatchRequestImmediatelyer.extensions.appserver
ERXDelayedRequestHandler.java89: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">caller.extensions.appserver
ERXDelayedRequestHandler.java66: ++++Next+exception:SQL+State:23000+--+error+code:+1048+--+msg:+Column+'DOMICILIO'+cannot+be+null">caller.extensions.appserver
FutureTask.java303innerRunjava.util.concurrent
FutureTask.java138runjava.util.concurrent
ThreadPoolExecutor.java886runTaskjava.util.concurrent
ThreadPoolExecutor.java908runjava.util.concurrent
Thread.java680run

On 05/07/2011, at 12:51, Ramsey Gurley wrote:

Can you post the stack trace?

Ramsey

On Jul 5, 2011, at 10:43 AM, Daniel Mejia wrote:

Ramsey,

That is exactly what is happening, never is displayed the dialog asking for a value in that field after click the save button, then I get the exception error because in the database is not null. If I disable the component ERDEditHTML in the  d2wmodel rules then everything works fine.

Saludos,

Daniel.


On 05/07/2011, at 12:14, Ramsey Gurley wrote:

Hi Daniel,

I think it should still be validating in validateForSave() so that when you click the save button, you should still get the error dialog demanding a value for the field. Is it failing to do that?

Ramsey

On Jul 5, 2011, at 9:55 AM, Daniel Mejia wrote:

Ramsey,

I expect that behavior if the field is not marked as required in the EO Model and in the database is defined as not null, but if it is marked as not null in the EO model why is not validated? This only happened when the field is using the ERDEditHTML component, if I left the field with the default component it is validated as expected.

Regards,

Daniel.


On 05/07/2011, at 11:39, Ramsey Gurley wrote:


On Jul 4, 2011, at 9:16 AM, Daniel Mejia wrote:

Hi all,

I have a very simple D2W edit form with some fields, some of them are required in the model and are correctly validated, the problem happen when I use the ERDEditHTMl component for one of those fields that are required. The field is never validated and if the user left the field blank the program aborts with problems because the field is not null. How can I make to validate the field using the ERDEditHTML?

Regards,

Daniel.

When you say "aborts with problems" do you mean it throws a validation error? That would be the behavior I would expect.

Ramsey








 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Help needed with ERDEditHTML component
      • From: Daniel Mejia <email@hidden>
References: 
 >Help needed with ERDEditHTML component (From: Daniel Mejia <email@hidden>)
 >Re: Help needed with ERDEditHTML component (From: Ramsey Gurley <email@hidden>)
 >Re: Help needed with ERDEditHTML component (From: Daniel Mejia <email@hidden>)
 >Re: Help needed with ERDEditHTML component (From: Ramsey Gurley <email@hidden>)
 >Re: Help needed with ERDEditHTML component (From: Daniel Mejia <email@hidden>)
 >Re: Help needed with ERDEditHTML component (From: Ramsey Gurley <email@hidden>)
 >Re: Help needed with ERDEditHTML component (From: Daniel Mejia <email@hidden>)
 >Re: Help needed with ERDEditHTML component (From: Ramsey Gurley <email@hidden>)
 >Re: Help needed with ERDEditHTML component (From: Daniel Mejia <email@hidden>)

  • Prev by Date: Re: Help needed with ERDEditHTML component
  • Next by Date: Re: WOWODC 2011 recordings
  • Previous by thread: Re: Help needed with ERDEditHTML component
  • Next by thread: Re: Help needed with ERDEditHTML component
  • Index(es):
    • Date
    • Thread