Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF][jquery] validation remote
Forum PHP.pl > Forum > PHP > Frameworki
kociupk
mam problem ze sprawdzeniem czy dany uzytkownik juz istnieje w bazie danych
od razu napisze ze nie korzystam z zend_form i wiem ze jest tam fajna wtyczka do sprawdzania danych Db_NoRecordExists ale tym razem chce to zrobic na normalnym formularzu

jquery formularz
  1. user: {
  2. required:true,
  3. remote: {
  4. url: '/dbdata/checkuser/',
  5. type: 'post',
  6. data: {
  7. data_user: function ()
  8. {
  9. return $("input[name='user']").val();
  10. }
  11. }
  12. }
  13. },


php sprawdzanie uzytkownikow
  1. public function checkuserAction()
  2. {
  3. $this->_helper->viewRenderer->setNoRender();
  4. $this->_helper->layout()->disableLayout();
  5.  
  6. $user = $this->getRequest()->getPost('data_user');
  7.  
  8. $company = new App_Model_DbTable_Company();
  9. $check = $company->checkUser($user);
  10.  
  11. if($check > 0)
  12. {
  13. $output = true;
  14. } else {
  15. $output = false;
  16. }
  17. json_encode($output);
  18. }



zapytanie do mysql
  1. public function checkEmail($email)
  2. {
  3. $select = $this->select()
  4. ->from($this->_name,'COUNT(*) AS num')
  5. ->where('email_contact = ?',$email);
  6.  
  7. return $this->fetchRow($select)->num;
  8. }


caly czas pokazuje ze dany uzytkonik istnieje
drakos
W Zend_Form to nie jest wtyczka a normalny walidator, którego możesz użyć gdziekolwiek.
(pisane z głowy)
  1. $validator = new Zend_Validate_Db_NoRecordExists(array('table' => 'users','field' => 'email'));
  2. $validator->isValid($this->getRequest->getPost('data_user');
kociupk
zrobilem tak jak mi podales i nie dziala
  1. public function checkuserAction()
  2. {
  3. $this->_helper->viewRenderer->setNoRender();
  4. $this->_helper->layout()->disableLayout();
  5.  
  6. $user = $this->getRequest()->getPost('data_user');
  7.  
  8. $validator = new Zend_Validate_Db_RecordExists(array(
  9. 'table' => 'company_portal_user',
  10. 'field' => 'user_name'
  11. ));
  12.  
  13. if($validator->isValid($user))
  14. {
  15. echo 'true';
  16. } else {
  17. echo 'false';
  18. }
  19. }


reszta jak w/w



już działa
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.