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
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php

class SupportForm extends Form {

   function __construct($controller, $name) {
      $fields = new FieldSet(
         new TextField('FirstName', 'First name'),
         new EmailField('Email', 'Email address'),
         new TextareaField('Message')         
      );

      $actions = new FieldSet(
         new FormAction('submit', 'Submit')
      );

      $validator = new RequiredFields('Email', 'Message');

      parent::__construct($controller, $name, $fields, $actions);
   }

   function forTemplate() {
     return $this->renderWith(array(
         $this->class,
         'Form'
      ));
   }

   public function submit($data, $form) {     
    die("This code is never called");
   }
}

class ContactUs extends Page {

}

class ContactUs_Controller extends Page_Controller {

  public function Form() {
    return new SupportForm($this, "SupportForm");
  } 
}
?>