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
-~----------~----~----~----~------~----~------~--~---

Reply via email to