1. <?php
  2.  
  3. set_include_path(
  4. dirname(__FILE__) . '/www/library'
  5. . PATH_SEPARATOR
  6. . get_include_path()
  7. );
  8.  
  9. error_reporting(E_ALL);
  10. ini_set('display_errors', 'On');
  11.  
  12. require_once 'Zend/Form.php';
  13. require_once 'Zend/View.php';
  14.  
  15. /* Le formulaire d'exemple de Zend_Form
  16. http://framework.zend.com/manual/en/zend.form.quickstart.html#zend.form.quickstart.puttingtogether
  17. */
  18.  
  19. $form = new Zend_Form();
  20.  
  21. $form->setAction('/user/login')
  22. ->setMethod('post');
  23.  
  24. // Create and configure username element:
  25. $username = $form->createElement('text', 'username');
  26. $username->addValidator('alnum')
  27. ->addValidator('regex', false, array('/^[a-z]+/'))
  28. ->addValidator('stringLength', false, array(6, 20))
  29. ->setRequired(true)
  30. ->addFilter('StringToLower');
  31.  
  32. // Create and configure password element:
  33. $password = $form->createElement('password', 'password');
  34. $password->addValidator('StringLength', false, array(6))
  35. ->setRequired(true);
  36.  
  37. // Add elements to form:
  38. $form->addElement($username)
  39. ->addElement($password)
  40. // use addElement() as a factory to create 'Login' button:
  41. ->addElement('submit', 'login', array('label' => 'Login'));
  42.  
  43.  
  44. /* L'affichage doit se faire dans un template (une "vue" de Zend)
  45. http://framework.zend.com/manual/en/zend.view.html#zend.view.introduction.controller
  46. */
  47.  
  48. $view = new Zend_view();
  49. $form->setView($view);
  50. $view->form = $form; // on passe le formulaire au template
  51. $view->setScriptPath(dirname(__FILE__));
  52. echo $view->render('test_template.tpl.php');