Working on my first CakePHP 'project'. Im having problems getting CakePHP (2.3) to show validation messages correctly on submit when i add $this->request->is('post'). If i remove it i get the validation messages (good!), but it validates and shows them on page load.. (bad!).
Edit: to clarify: The problem is it isnt showing validation errors automagicly.
/app/view/Feedback/add.ctp
echo $this->Form->create('Feedback');
echo $this->Form->input('Feedback.browser', array('type' => 'hidden', 'value' => $_SERVER['HTTP_USER_AGENT']));
echo $this->Form->input('Feedback.ip', array('type' => 'hidden', 'value' => $_SERVER['REMOTE_ADDR']));
echo $this->Form->input('Feedback.suggestie', array('rows' => '3', 'label' => false));
echo $this->Form->end('Send');
/app/Controller/FeedbackController.php
public function add($site = null, $page = null)
{
if( $this->request->is('post') )
{
if( $this->Feedback->save( $this->request->data ) )
{
$subject = "Feedback ontvangen voor ".$this->data['Feedback']['site'];
$mailBody = "Er is feedback ontvangen voor ".$this->data['Feedback']['site'] .":<br/>
<br/>
Pagina: ".$this->data['Feedback']['page']."<br/>
IP: ".$this->data['Feedback']['ip']."<br/>
Browser: ".$this->data['Feedback']['browser']."<br/>
<br/>
Pagina beoordeling: ".$this->data['Feedback']['rating']."<br/>
<br/>";
if( $this->data['Feedback']['suggestie'] ) {
$mailBody .= "Suggestie:<br/>"
.$this->data['Feedback']['suggestie']."<br/>";
}
if( $this->data['Feedback']['foutmelding'] ) {
$mailBody .= "Foutmelding:<br/>"
.$this->data['Feedback']['foutmelding']."<br/>
<br/>
Contact voor foutmelding: ".$this->data['Feedback']['foutmeldingctc'];
}
$email = new CakeEmail();
$email->emailFormat( 'html' );
$email->from( array( 'xxxx' => 'High Profile Locaties Feedback' ) );
$email->to( 'xxxx' );
$email->subject( $subject );
$email->send( $mailBody );
//naar bedank pagina
$this->redirect( '/pages/bedankt' );
}
}
}
is('post')it skips validation? Or it doesn't show the message? Showing the rest of your action may let us know what's going on. - jeremyharris$this->request->data['Feedback']['..']instead of$this->data['Feedback']['..']. I don't think that would make a difference with your validation errors though. - Hoffis('post')check? That doesn't make much sense :/ - jeremyharris