10993 Posts in 2727 Topics by 1818 members
|Go to End|
8 February 2011 at 9:51am
Bit of an edge-case request this one, but here goes...
I'm using userforms for a project (client will need to add forms later on).
Some of the forms are opening in a fancybox JS popup. (http://fancybox.net/)
When validation fails, the behaviour of userforms / forms is to redirect back to the referring page and re-display the form with the requisite error messages. In this case the user is redirected back to the page they opened the form on, but the form isn't shown (as it was opened using fancybox)
I'm wanting to alter / override the default behaviour to add a query string variable to the redirect which I can use to identify the form which needs to be re-displayed.
I've examined UserDefinedForm.php and Form.php but can't see where the redirect occurs - can anyone offer any pointers?
8 February 2011 at 8:39pm
UserDefinedForm.php -> process()
One of the features I'm looking at building is a hook system for overriding this process() function easier but at the moment you'll have to either edit the file or subclass the form.
9 February 2011 at 9:23am
Thanks for your response.
I looked at process() but assumed that this was called *after* validation had occurred as it deals with saving the submission, emailing etc? Is process() where I'd alter the referer if validation had failed? It's not immediately clear if validation is performed in UserDefinedForm or passed to the Form class....
Thanks again for any help / pointers.
9 February 2011 at 9:50am
Sorry I missed the part where you were talking about validation.
Apart from that it uses the standard Form RequiredFields object to handle validation so you would need to alter those.
9 February 2011 at 10:06am
I'm not using client side validation in this particular instance. I'll check out the RequiredFields object. I'm assuming I'll be able to use
Object::useCustomClass() to avoid hacking the SS core....
|Go to Top|