Re: EO model validation with Wonder and foreign keys
Zak Burke <[email protected]>
| Newsgroups | gmane.comp.web.webobjects.woproject.devel,gmane.comp.web.webobjects.devel |
|---|---|
| Message-ID | <[email protected]> |
Zak Burke wrote on 12/12/06 7:32 PM: > I thought I would bite the bullet and install Wonder, to see if it made > all my EO Model/Entity Modeler validation issues magically disappear. > I've written about this problem before but was never able to resolve it. > Here it is, in a nutshell: When an EO has a required relation, Entity > Modeler complains if the EO's foreign key is not also marked as > required. EOF, however, chokes when the foreign key is required because > it handles validation before a new related object has been persisted, > and therefore has no foreign key to assign. Well, I managed to solve this. The problem only appears if the relationship's foreign key is accessible as a class property. If the foreign key is not a class property, then apparently EOF never gets access to the property to notice that fact that it's empty. That kinda makes sense, but in an ostrich-like way. (If I don't look for a value that isn't allowed to be empty, it must not be empty! Hooray!) I understand how my model caused this to occur, but it seems like the model should throw an error whenever a property used as part of a relationship is exposed as a class property. I know some modeling wonks will flame me about how PKs and FKs shouldn't be exposed anyhow and I could have avoided all these problems if I had just followed recommendations about what fields to expose. IMNSHO, the recommendation ought to be a rule because violating it causes an error. At the very least the documentation should explain the consequences of ignoring it. Ah well; at least now I understand. zak.