首先,我们利用Zend_Form组件来创建一个带有数据验证的留言内容输入表单。
在application目录下新建名为forms的文件夹,放置于forms文件夹的类将会自己加载,这里必须遵循命名规则和文件结构。新建名为Default_Form_Guestbook的表单类代码以下。
-
<?php
-
class Default_Form_Guestbook extends Zend_Form
-
{
-
public function __construct($options = null)
-
{
-
parent::__construct($options);
-
$this->setName('guestbook');//表单ID
-
$id = new Zend_Form_Element_Hidden('id');//创建ID为'id'的隐藏input控件
-
-
-
$name = new Zend_Form_Element_Text('name');//创建名为'name'的文本输入框,
-
$name->setLabel('姓名')
-
->setRequired(true)//数据验证,必填以内
-
->addFilter('StripTags')//将HTML代码实体化
-
->addFilter('StringTrim');//去除字符边界空白
-
-
-
$email = new Zend_Form_Element_Text('email');
-
$email->setLabel('电子邮箱')
-
->setRequired(true)
-
->addFilter('StripTags')
-
->addFilter('StringTrim')
-
->addValidator('EmailAddress');//验证邮箱地址
-
-
-
$content = new Zend_Form_Element_Textarea('content');
-
$content->setLabel('留言内容')
-
->addFilter('StripTags')
-
->addFilter('StringTrim')
-
->setRequired(true);
-
-
-
$submit = new Zend_Form_Element_Submit('add');//创建提交按钮
-
$submit->setAttrib('id','submitbutton')->setLabel('添加');
-
-
-
$this->addElements(array($id,$name,$email,$content,$submit));//组装表单
-
}
-
}
-
?>
请以上代码保存名为Guestbook.php,放于application/forms目录下,Default_Form_Guestbook很简单,主要设置生成HTML表单。接下来,就可以在控制器的方法里使用了。
在application/controllers目录下新建名为GuestbookController的控制器,添加add方法,用于显示刚才创建的表单。代码如下。
-
<?php
-
class GuestbookController extends Zend_Controller_Action
-
{
-
public function addAction()
-
{
-
$form = new Default_Form_Guestbook();
-
$this->view->form = $form;
-
}
-
}
-
?>
代码很简单,通过new Default_Form_Guestbook()生成表单HTML代码,然后通过$this->view->form将代码发送到模板页显示。
最后一步,在application/views/scripts/guestbook目录下创建名为add.phtml的模板文件。代码如下。
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
<HTML>
-
<HEAD>
-
<TITLE>zend framework 简单留言簿</TITLE>
-
</HEAD>
-
-
-
<BODY>
-
<?php echo $this->form;?>
-
</BODY>
-
</HTML>
模板页也很简单,只是负责将控制器里add方法传过来的$form变量内容显示到页面。
阅读(562) | 评论(0) | 转发(0) |