【发布时间】:2011-08-12 07:38:22
【问题描述】:
我正在尝试在产品页面中添加表单以请求附加信息。这是一个简单的表格,包含姓名、国家、电子邮件和问题字段。
我创建了这个tutorial,但我不喜欢仅仅为了小我需要制作新模型和控制器的想法。
所以我在 view.ctp 中添加表单
print $this->Form->create('', array('action' => 'sendemail'));
print $this->Form->input('name',array('label' => __('Name',true).':'));
print $this->Form->input('country',array('label' => __('Country',true).':'));
print $this->Form->input('email',array('label' => __('E-mail',true).':'));
print $this->Form->input('question',array('type' => 'textarea', 'label' => __('Your question',true).':'));
print $this->Form->end(__('Send', true));
并在products_controller.php中添加函数sendemail
function sendemail(){
if(!empty($this->data)){
if($this->data['Product']['name'] && $this->data['Product']['country'] && $this->data['Product']['email'] && $this->data['Product']['question']){
// sending email
$this->Session->setFlash(__('Thanks, your qustion was send.', true), 'default', array('class' => 'message status'));
$this->redirect($this->referer());
} else {
// validation
$this->Session->setFlash(__('Fill all fiels', true), 'default', array('class' => 'message error'));
$this->redirect($this->referer());
}
} else {
$this->Session->setFlash(__('Error occurred', true), 'default', array('class' => 'message error'));
$this->redirect($this->referer());
}
}
那么有什么方法可以正确验证表单,如果重定向后某些字段未填写,该字段将被设置为错误表单输入?另外如何将所有已填写的字段设置回表单?
感谢您的帮助!
【问题讨论】:
标签: forms cakephp validation