I have added a contact form to a page but all fields are validating with "Please enter an email address."
Obviously I must be missing something
page.php +++++++++++++++++++++
class Page_Controller extends ContentController {
public function ValuationForm()
{
return new ValuationForm($this,'ValuationForm');
}
}
++++++++++++++++++++++++++++
ValuationForm.php
+++++++++++++++
class ValuationForm extends Form {
function __construct($controller, $name) {
$fields = new FieldSet(
new TextField('Name', 'Name'),
new EmailField('Postcode', 'Postcode'),
new EmailField('Email', 'Email'),
new EmailField('Telephone', 'Telephone')
);
$actions = new FieldSet(
new FormAction('submit', 'Submit')
);
// Create validator
$validator = new RequiredFields('Email');
parent::__construct($controller, $name, $fields, $actions, $validator);
}
function forTemplate() {
return $this->renderWith(array(
$this->class,
'Form'
));
}
function submit($data, $form) {
$valuation = new Valuation();
$form->saveInto($valuation);
//$valuation->JobCategoryID = $this-dataRecord->ID;
$valuation->write();
$form->sessionMessage('Form successfully submitted', 'good' );
Director::redirectBack();
return;
// do stuff here
}
}
++++++++++++++++++++++++++++++++