Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]Zend_Form zmiana error textu i tagu dla label
Qwak
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 29.04.2009

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


Hej!
Mam klasę Application_Form_Singin dziedziczącą po Zend_form a w niej taki kod:
  1. $username = $this->addElement('text', 'username', array(
  2. 'filters' => array('StringTrim', 'StringToLower'),
  3. 'validators' => array(
  4. 'Alpha',
  5. array('StringLength', false, array(3, 20, 'messages'=>"To pole musi mieć minimum 3 znaki i maksymalnie 20 znaków.")),
  6. ),
  7. 'required' => array(true,'messages'=>"To pole musi mieć minimum 3 znaki i maksymalnie 20 znaków."),
  8. 'label' => 'Your username:',
  9. ));
  10.  
  11. $this->setDecorators(array(
  12. 'FormElements',
  13. array('HtmlTag', array('tag' => 'dl', 'class' => 'zend_form')),
  14. array('Description', array('placement' => 'prepend')),
  15. array('label', array('tag' => 'strong')),
  16. 'Form'
  17. ));
  18.  
To tylko kawałek kodu...
Nie działa w nim tekst błędu dla username kiedy nie jest w ogóle wypełnione (required). Również nie wiem jak dodać jakiś tag dla label dla elementów formularza. array('label', array('tag' => 'strong')), kończy się błędem. Dodatkowo mam pytanie jak lepiej tworzyć formularz tak jak w tym kawałku kodu czy tworzyć sobie klasy inputów a potem wrzucać je poprzez metodę addElements()?
Proszę o pomoc i pozdrawiam,
QWAK
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
pgrzelka
post
Post #2





Grupa: Zarejestrowani
Postów: 313
Pomógł: 24
Dołączył: 9.08.2008
Skąd: Kielce

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


aby zadziałał komunikat dla required użyj validatora NotEmpty i dla niego ustaw komunikat błędu


--------------------
Go to the top of the page
+Quote Post
Qwak
post
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 29.04.2009

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


Też tak próbowałem i nie działało :/ Podam kod:
  1. array('NotEmpty', false, array('messages'=>"To pole nie może być puste.")),
Go to the top of the page
+Quote Post
zend
post
Post #4





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Czy to aż taki problem sprawdzić jak wygląda wnętrze konstruktorów tych klas? Przecież nie przyjmuje parametru messages.
  1. $form = new Zend_Form();
  2. $form -> setErrorMessages();
  3.  
  4. $stringLenght = new Zend_Validate_StringLength(array('min' => 1 , 'max' => 3));
  5. $stringLenght -> setMessage('Błąd' , Zend_Validate_StringLength::INVALID);
  6. $form -> getElement('input') -> addValidator($stringLenght);
  7. //do wyboru do koloru
  8. Zend_Validate_Abstract::getDefaultTranslator($zendTranslate);
Go to the top of the page
+Quote Post
pgrzelka
post
Post #5





Grupa: Zarejestrowani
Postów: 313
Pomógł: 24
Dołączył: 9.08.2008
Skąd: Kielce

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


Cytat(Qwak @ 24.08.2010, 08:54:50 ) *
Też tak próbowałem i nie działało :/ Podam kod:
  1. array('NotEmpty', false, array('messages'=>"To pole nie może być puste.")),


a nie powinno to tak wyglądać?
  1. array('NotEmpty', false, array('messages'=>array('notEmpty'=>"To pole nie może być puste."))),


komunikaty możesz również tłumaczyć za pomocą Zend_Translate
http://framework.zend.com/manual/en/zend.form.i18n.html


--------------------
Go to the top of the page
+Quote Post
R4D3K
post
Post #6





Grupa: Zarejestrowani
Postów: 144
Pomógł: 12
Dołączył: 16.03.2007

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


Witam, chciałbym zadać pytanie odnośnie parametrów podawanych za pomocą tablicy do elementu:
Cytat
  1. array('NotEmpty', false, array('messages'=>array('notEmpty'=>"To pole nie może być puste."))),


Pierwszy element oznacza nazwę walidatora a co oznacza drugi parametr ustawiony jako false ?
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: 21.08.2025 - 06:08