Forget the last part about the Validator requiring a AR mapping. I just used
it wrong.

On Fri, Sep 11, 2009 at 12:48 PM, Daniel Hölbling <[email protected]>wrote:

> Splitting the registration into two cases is also a very good Idea. I could
> let them complete their profile through the member area. Thanks for the
> suggestion.
>
> Now, off to something else. I tried the DTO approach and just found out
> something peculiar: I can't really use the ActiveRecord Validation framework
> with that since those DTOs are not in the Database and even for simple stuff
> like [ValidateNonEmpty] the Validator requires a AR mapping.
> Any suggestions on what Validator I should use? I'm currently tempted to
> simply roll my own little validation and be done with it.
>
> greetings Daniel
>
>
> On Fri, Sep 11, 2009 at 12:39 PM, Gauthier Segay <[email protected]
> > wrote:
>
>>
>> > just a ordinary website that is pretty curious about it's members
>>
>> In my experience, member registration on a public facing website is a
>> critical scenario, also being too curious was a weak point of a site I
>> took off, since I transformed the registration in a two stage use
>> case, the registration / day ratio has climb up drastically.
>>
>> > I think I'll go with the postback validation since it should be easiest
>> to implement. If I feel fancy I'll try the AJAX validation at a later stage.
>>
>> My current experience is that ajax validation is easier because you
>> don't have to mind the form state (it's still on the client DOM), but
>> the weak point is that it requires enabled javascript which is not
>> mandatory with plain POST implementation.
>>
>> On Sep 11, 12:25 pm, Daniel Hölbling <[email protected]> wrote:
>> > Thanks!
>> >
>> > The Form-DTO idea is really good. I'll do that.Also I agree Ken, it's a
>> > Session-wide operation so that's probably the best way to go about that.
>> >
>> > I guess what impaired my thinking on this one was that every step of the
>> > Wizard corresponded to one Component in my Entity.
>> > My current approach was to save every step into the session and the last
>> > Step then pushes them together into the Entity and validates that
>> (leaving
>> > me with issues on how to correct validation errors).
>> >
>> > Thanks again. I'll try your suggestions and maybe compile them into a
>> help
>> > topic for the users guide.
>> >
>> > @Gauthier: Oh, I guess you did mistake my use-case. It's the most
>> > un-critical thing in the world anyone will ever build :) (just a
>> ordinary
>> > website that is pretty curious about it's members).
>> > I think I'll go with the postback validation since it should be easiest
>> to
>> > implement. If I feel fancy I'll try the AJAX validation at a later
>> stage.
>> >
>> > greetings Daniel
>> >
>> > On Fri, Sep 11, 2009 at 12:01 PM, Gauthier Segay
>> > <[email protected]>wrote:
>> >
>> >
>> >
>> >
>> >
>> > > I'm not used to the MR wizard but here are some thoughts:
>> >
>> > > - instead of validating a fullfledged DB entity, you could validate
>> > > plain Form DTO that match each registration steps, monorail controller
>> > > has a validator runner that you can use on any DTO bringing validation
>> > > attributes
>> > > - if session feel like unsecure storage (I feel the same way), isn't
>> > > there a possibility to store each form DTO in a serialized form in a
>> > > DB table that would be purged for expired / incomplete registration
>> >
>> > > theses look like extra work, but your usecase seems a bit critical and
>> > > it's better to design with more separation rather than making that at
>> > > a later stage
>> >
>> > > For the ajax instant validation, it depends if you want full fledged
>> > > validation (ie: validating every rules) or can accomodate only
>> > > validate simplest rules (that is mandatory fields, email format, group
>> > > non empty)
>> >
>> > > For the simplest rules, using FormHelper with Validation enabled DTO +
>> > > JQuery validation support would help, but it's still limitated to some
>> > > validation attributes, this works without AJAX/reaching the server
>> >
>> > > for more complex things (unique member name checked on server side,
>> > > etc.) there is two ways I can think about:
>> >
>> > > - ajax enabled way: having a controller action handling the form
>> > > (ajax) POST returning JSON and use that JSON to handle validation
>> > > feedback
>> >
>> > > - get post redirect way: having a controller action handling the form
>> > > POST performing a redirect on the next page if everything is ok, or
>> > > redirect to the initial form if there is any failed validation,
>> > > passing the form DTO in Flash (which is backed in Session), there
>> > > again using FormHelper would help to restore the state of the form as
>> > > it was submitted
>> >
>> > > Let us know if you have any specific questions according to your
>> > > implementation choices
>> >
>> > > I hope this helps
>> >
>> > > On Sep 11, 11:30 am, Daniel Hölbling <[email protected]> wrote:
>> > > > Hi,
>> > > > I'm currently building a Registration form for my MonoRail
>> application
>> > > and
>> > > > there is a LOT of data to be entered by the user.
>> > > > So I decided to split it through using a Wizard interface.
>> >
>> > > > I just feel a bit at a loss what the best way would be to carry that
>> > > > intermediary data from Step to Step.
>> > > > I obviously can't put it in the DB or I'd see bad records in the
>> Database
>> > > > hat need to be cleaned up afterwards.
>> > > > On the other hand I don't really feel comfortable putting that Data
>> into
>> > > the
>> > > > Session.
>> >
>> > > > Another problem I see is Validation:
>> > > > Since I am hydrating only one entity from the Form, the ActiveRecord
>> > > > validator will always report invalidity until the very last step
>> when all
>> > > > required fields have been met.
>> > > > I'd really like to do some sort of AJAX instant validation on that
>> form,
>> > > so
>> > > > how do I query the validity of exactly one field?
>> >
>> > > > Does anyone have experience with the Wizards and can share some
>> wisdom on
>> > > > how to use it without the solution getting too complicated?
>> >
>> > > > greetings Daniel
>> >>
>>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to