Ik ben bezig om Zend_Form onder de knie te krijgen, nu is er een lading aan documentatie, dat is het probleem niet.
Maar in de documentatie wordt elk form element, elke validator en filter als apart object aangemaakt, waarvan weer verschillende methoden worden aangeroepen.
Ik wil graag dat de 'default message' van een validator wordt overschreven, normaal kan dat met
Maar ik wil graag dat ik het in de zend form constructor kan (voorbeeld)
Het gaat me dus in dit geval om regel 13 (ik dacht dat is de oplossing, maar die doet dus niets), daar heb ik een method gemaakt die kijkt of een username bestaat, en ik wil dan graag dat hij zegt van 'hee die is hetzelfde als een andere klant'.
Nu kan ik wel elk object los gaan maken, maar ik vind alles in de constructor gooien veel fijner werken (veel minder code)
Dus de vraag is eigenlijk, hoe kan ik die setMessages() in de Zend_Form constructor uitvoeren, bij de betreffende validator.
Maar in de documentatie wordt elk form element, elke validator en filter als apart object aangemaakt, waarvan weer verschillende methoden worden aangeroepen.
Ik wil graag dat de 'default message' van een validator wordt overschreven, normaal kan dat met
PHP:
1
2
3
4
5
6
| $validator->setMessages( array ( 'missingToken' => 'No token to match agains', 'Same' => 'The tokens are the same' ) ); |
Maar ik wil graag dat ik het in de zend form constructor kan (voorbeeld)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| $form = new Zend_Form( array( 'action' => '', 'method' => 'post', 'elements' => array( 'username' => array( 'text', array( 'label' => 'Gebruikersnaam', 'required' => true, 'validators' => array( array('stringLength', true, array(4, 15)), array('identical', true, array($this->_users->checkUsername($_POST['username'])), 'messages' => array( 'Same' => 'Gebruikersnaam bezet. ' )) ), 'filters' => array( 'striptags' ) ) ) 'submit' => array( 'submit', array( 'label' => 'Versturen' ) ) ) ) ); |
Het gaat me dus in dit geval om regel 13 (ik dacht dat is de oplossing, maar die doet dus niets), daar heb ik een method gemaakt die kijkt of een username bestaat, en ik wil dan graag dat hij zegt van 'hee die is hetzelfde als een andere klant'.
Nu kan ik wel elk object los gaan maken, maar ik vind alles in de constructor gooien veel fijner werken (veel minder code)
Dus de vraag is eigenlijk, hoe kan ik die setMessages() in de Zend_Form constructor uitvoeren, bij de betreffende validator.