Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] sprawdzenie pola
kociupk
post
Post #1





Grupa: Zarejestrowani
Postów: 97
Pomógł: 1
Dołączył: 29.03.2006

Ostrzeżenie: (0%)
-----


mam problem ze sprawdzeniem danych w bazie danych dokladnie chce sprawdzic czy dany login juz istnieje w bazie danych i mi to nie wychodzi
controller
  1. public function registryAction()
  2. {
  3. $form = new App_Form_Registry();
  4. $formData = array();
  5.  
  6. if($this->getRequest()->isPost())
  7. {
  8. $formData = $this->getRequest()->getPost();
  9. if($form->isValid($formData))
  10. {
  11. echo '0';
  12.  
  13.  
  14. } else {
  15. $form->populate($formData);
  16. }
  17. } else {
  18. $this->view->form = $form;
  19. }
  20. }

forms
  1. $userName = new Zend_Form_Element_Text('user_name');
  2. $userName->setLabel('Nazwa uzytkownika')
  3. ->setRequired(true)
  4. ->addValidator( new Zend_Validate_Db_NoRecordExists('portal_user', 'user_name'));

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. \
  2. $userName = new Zend_Form_Element_Text('user_name');
  3. $userName->setLabel('Nazwa uzytkownika')
  4. ->setRequired(true)
  5. ->addValidator('Db_RecordExists', array('portal_user', 'user_name'), true);
tak działa?

a poza tym:
  1. else {
  2. $form->populate($formData);
  3. }
nie musisz tego pisać, zend_form sam populuje formularz

Ten post edytował my salsa 19.03.2010, 09:04:48


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
Master Pain
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 5.04.2007
Skąd: Jarocin

Ostrzeżenie: (0%)
-----


my salsa, Db_NoRecordExists
  1. $istnieje = new Zend_Validate_Db_NoRecordExists(array('table' => 'portal_user', 'field' => 'user_name'));
  2. $istnieje->setMessages(array('recordFound' => 'Istnieje już osoba o podanej nazwie.'));


Ten post edytował Master Pain 19.03.2010, 11:05:17
Go to the top of the page
+Quote Post
kociupk
post
Post #4





Grupa: Zarejestrowani
Postów: 97
Pomógł: 1
Dołączył: 29.03.2006

Ostrzeżenie: (0%)
-----


my salsa jak dodaje twoje rozwiazanie to wyskakuje blad

Fatal error: Uncaught exception 'Zend_Validate_Exception' with message 'Table or Schema option missing!' in /home/cat/domains/xxx/public_html/mm/library/Zend/Validate/Db/Abstract.php:116 Stack trace: #0 [internal function]: Zend_Validate_Db_Abstract->__construct(true) #1 /home/cat/domains/xxx/public_html/mm/library/Zend/Form/Element.php(2095): ReflectionClass->newInstance(true) #2 /home/cat/domains/xxx/public_html/mm/library/Zend/Form/Element.php(1247): Zend_Form_Element->_loadValidator(Array) #3 /home/cat/domains/xxx/public_html/mm/library/Zend/Form/Element.php(1320): Zend_Form_Element->getValidators() #4 /home/cat/domains/xxx/public_html/mm/library/Zend/Form.php(2038): Zend_Form_Element->isValid('', Array) #5 /home/cat/domains/xxx/public_html/mm/application/modules/default/controllers/IndexController.php(24): Zend_Form->isValid(Array) #6 /home/cat/domains/xxx/public_html/mm/library/Zend/Controller/Action.php(513): IndexController->registryAction() #7 /home/c in /home/cat/domains/xxx/public_html/mm/library/Zend/Validate/Db/Abstract.php on line 116

a jak dodaje zozwiazanie Master Pain to wyswietla blad
Fatal error: Call to a member function getOrder() on a non-object in /home/cat/domains/xxx/public_html/mm/library/Zend/Form.php on line 1025

moj kod byl poprawny wszystko juz dziala problem byl w pliku indexController smile.gif
Pozdrawiam
Go to the top of the page
+Quote Post
fander
post
Post #5





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

Ostrzeżenie: (0%)
-----


Witam

Napisz własny walidator dla tego pola na oko to będzie z 30 linii kodu
Go to the top of the page
+Quote Post
melkorm
post
Post #6





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat
nie musisz tego pisać, zend_form sam populuje formularz


Oczywiście gdy użyjesz validate na formularzu smile.gif


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 18:56