ValidateAjax = { initialize: function(formid, endpoint){ end_url = endpoint; form_id = '#' + formid; $(form_id+' input').blur(function(){ var formElementID = $(this).attr('id'); ValidateAjax.doValidate(formElementID); return false; }); $(form_id).submit(function(){ $(form_id+' input').each(function(){ var formElementID = $(this).attr('id'); ValidateAjax.doValidate(formElementID); }); }); }, doValidate: function(id){ var url = end_url; var data = $(form_id).serialize(); $.post(url,data,function(response){ $('#'+id+'Error').find('.error').remove(); if (response[id]) $('#'+id+'Error').append(ValidateAjax.getHTML(response[id])); },'json'); }, getHTML: function(errArray){ var object = '
'; $.each(errArray,function(key,value){ object += value; }); object += '
'; return object; } $(document).ready(function(){ //Set watermark on input fields $('#username').watermark(watermark_username); $('#email').watermark(watermark_email); $('#password').watermark(watermark_password); // validation ValidateAjax.initialize('registrationForm', '/registration/validateform'); public function indexAction() { $form = new Application_Form_Registration(); if ($this->_request->isPost()) { $formData = $this->_request->getPost(); // if form is valid, send mail to the user and store user into the database if ($form->isValid($formData)) { echo 'success'; $this->registerUser(); } else { echo 'failure'; } } $this->view->form = $form; } public function validateformAction(){ $form = new Application_Form_Registration(); $form->isValidPartial($_POST); $this->_helper->json($form->getMessages()); }