[html-formfu] Clientside validation

Carl Franks fireartist at gmail.com
Wed Mar 5 11:30:02 GMT 2008


On 05/03/2008, Andreas Marienborg <omega at palle.net> wrote:
>
>  On Mar 5, 2008, at 12:11 PM, Carl Franks wrote:
>
>  > On 05/03/2008, Andreas Marienborg <omega at palle.net> wrote:
>  >>
>  >> On Mar 5, 2008, at 10:54 AM, Carl Franks wrote:
>  >>
>  >>> On 05/03/2008, Andreas Marienborg <omega at palle.net> wrote:
>  >>>> Has anyone done any clientside validation with FormFu? Basicly I
>  >>>> want
>  >>>> to only specify constraints etc once, in the FormFu-config, and
>  >>>> then
>  >>>> just have it magicaly work on the forms in the web app, or atleast
>  >>>> provide me with the information needed to do the client side stuff
>  >>>> (like what constraints are on a field etc).
>  >>>>
>  >>>> If that is not possible, is it possible to process only "part" of a
>  >>>> form? So I can call back to the server to check each field as they
>  >>>> are
>  >>>> filled out?
>  >>>>
>  >>>>
>  >>>> If anyone has any thoughts on any of this, I would be glad to
>  >>>> hear it
>  >>>
>  >>> I put this JS demo together about a year ago.
>  >>> http://www.fireartist.com/tmp/client-side-constraint.html
>  >>>
>  >>> It supports filters & constraints and uses the same error markup
>  >>> that
>  >>> server-side validation would generate.
>  >>>
>  >>> At the moment, it uses an old version of dojo.
>  >>> It would probably be best to have the more advanced functionality
>  >>> (such as class name changes) isolated in core functions, and allow
>  >>> them to be implemented in different frameworks - and have the
>  >>> individual constraints, filters, etc only use standard JS.
>  >>> Although, if someone's willing to write the necessary functions in
>  >>> cross-browser JS so that we don't need an external library, that
>  >>> would
>  >>> be great.
>  >>>
>  >>> I created the branch /branches/auto-js for this, but have never
>  >>> checked the changes in, so I'll probably need to start from
>  >>> scratch as
>  >>> the internals have changed so much since the branch was made.
>  >>>
>  >>> I imagine it being implemented such that you can switch it on with
>  >>> something like:
>  >>>
>  >>>   clientside_validation: 1
>  >>>   clientside_library: 'Dojo'
>  >>
>  >>
>  >> That sounds ideal. I would whip up a MochiKit implementation asap :p
>  >>
>  >> However, is it possible to easily manipulate what is outputed, so as
>  >> to add information about constraints etc to the markup?
>  >
>  > What exactly are you thinking of?
>  >
>  > It's already possible to set classnames to include the constraint type
>  > - see "%t" in
>  > http://search.cpan.org/~cfranks/HTML-FormFu-0.02004/lib/HTML/FormFu.pm#auto_constraint_class
>  >
>  > The way the demo works is: it adds the concepts of 'forced' errors.
>  > The spans for forced-errors have a different classname and are
>  > hidden using CSS.
>  > JS is used to put the error messages into the spans, so that users
>  > without JS/CSS don't see the error message at all.
>  > (If you've got JS switched on, but CSS turned off, then you'll see the
>  > messages, but then it's a rather unlikely combination.
>  >
>  > When the constraints are run, the classname is changed, so that the
>  > appropriate message is either hidden or displayed.
>  >
>  > Carl
>
>
> Aha, pretty smooth :p Guess I should take the time to read more docs

Well, 'auto_constraint_class' is documented, but the demo I posted is
purely a mock-up - formfu can't actually produce that output yet.

Carl



More information about the HTML-FormFu mailing list