Well, I was using 1.1... however, I'm considering moving to 1.2 anyways. I'm wondering if the mailer and pagination features of 1.2 work better than the components/helpers from the bakery for 1.2 I'm also a bit fearful of future deprecated functions in 1.2 (eg - losing functionality as Cake get's 'better'). What are your thoughts?
I'd love to have the code regardless. Dustin Weber On May 21, 2:32 pm, gmwebs <[EMAIL PROTECTED]> wrote: > Hey Dustin, > > What version are you using? I have some code for 1.2 custom validation > which I don't mind sharing with you, but would be rather pointless if > you are using 1.1 :) > > I went through your exact process a few weeks ago, and have managed to > get it all working in 1.2. > > Graham > > On May 21, 7:49 pm, Dustin Weber <[EMAIL PROTECTED]> wrote: > > > I'm trying to figure out the "proper" way to create and submit an ajax > > form, validate the data, and return a success or error messages to the > > original div. > > > Simply stated: > > 1) User submits ajax form > > 2) Submitted data is validated (against the model) > > 3) Error Messages/Success Message are generated and original contact > > form is overwritten with these messages > > 4) Data is saved/sent (if validated properly) > > > As an example, I have a short & simple contact form below that should > > help clarify what I'm trying to do. > > > [Code Snippet From The View] > > ------------------------------------------------------------------- > > <div id="shortContact"> > > <form onSubmit="return false;"> > > <p> > > <label>Your Name: </label> > > <?php echo $html->input('shortContact/name', > > array('size' => > > '30')); ?> > > <?php echo $html->tagErrorMsg('shortContact/name', > > 'A name is > > required.'); ?> > > </p> > > <p> > > <label>Your Email: </label> > > <?php echo $html->input('shortContact/email', > > array('size' => > > '30')); ?> > > <?php echo $html->tagErrorMsg('shortContact/email', > > 'An email > > address is required.'); ?> > > </p> > > <?php echo $html->hidden('shortContact/phone'); ?> > > <p> > > <?php echo $ajax->submit('Get In Touch', > > array('url' => > > 'shortContact', 'update'=>'shortContact')); ?> > > </p> > > </form> > > </div> > > ------------------------------------------------------------------- > > > [Code Snippet From The Controller] > > ------------------------------------------------------------------- > > function shortContact () > > { > > //make sure data was submitted > > if (!empty($this->data)) > > { > > //the phone field is a hidden field 'spam checker' > > //it should always be empty unless being spammed??? > > if (empty($this->data['shortContact']['phone'])) { > > if($this->ShortContact->validates($this->data)) { > > > > $this->sendEmail($this->data['shortContact']); > > $this->render('success_contact'); > > } else { > > $this->render('error_contact'); > > } > > } > > }} > > > ------------------------------------------------------------------- > > > [ShortContact Model Snippet] > > ------------------------------------------------------------------- > > class ShortContact extends AppModel > > { > > var $name = 'ShortContact'; > > var $useTable = false; > > > var $validate = array( > > 'name' => VALID_NOT_EMPTY, > > 'email' => VALID_EMAIL);} > > > ------------------------------------------------------------------- > > > So, here's my issues: > > > 1) If I have properly implemented the ajax->submit() method, then > > perhaps someone can enlighten me how to get validation working. > > Currently, I the data gets to the controller perfectly, but the > > validation doesn't work (eg: validation always passes - no errors ever > > returned). > > > 2) How do I get the 'errors' back to the original view to update the > > tagErrorMsg with the error. The render statements seem to be the key > > here. In simple terms: rendering a success message and overwriting > > the 'shortContact' div is no problem at all. However, if there's an > > error in the form and I render the "error_contact" to overwrite the > > 'shortContact' div, the errors pass through to the original view. The > > issue seems to revolve around how the Model handles error message. > > > 3) I can't seem to figure out how to properly use the $ajax->form() > > methods. This was my original preferable method, but I ran into a lot > > of snags. I see the usage in the API, but I'm a tad confused on how > > to implement it with the form. Do I use a regular submit button? Do > > I need a button with: onclick="this.form.submit();" or something else > > to actually submit the form? Any help in that area would be vastly > > appreciated. (Documentation is sparse on this topic) > > > 4) Does anyone think my 'spam checking method' will work? I assumed > > that any field named "phone" in a contact form would be filled out by > > a spam-bot. A normal user would never see this hidden field, so it > > should work ok. I guess I need a way to test spammers, heh. Any > > comments on this method would be appreciated. > > > Thanks for your help in advance! > > Dustin --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---