- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在 Zend Frameworks 教程中,我可以看到像这样的表单处理代码
if ($request->isPost()) {
$formData = $request->getPost();
$code = $request->getParam("code");
$url = $request->getParam("url");
if ($form->isValid($formData)) {
// here goes code to determine insert/update action,
//retrive record data
//and perform relative database operation
此代码对许多表单重复。我正在努力使表单处理更好,但不要过度设计它。到目前为止,我已将这段代码从 Controllers 移到 Form 对象中。但是代码仍然重复不同的表单类型。
我的问题是——我是应该保持表单处理代码重复还是编写一些将被所有子类使用的 ProcessSubmit() Zend_Form 方法?我的经验是抽象并不总是好的,有时您最终会同步两个本应与开始时不同的类。
ZF 示例展示了重复代码,所以我想知道这种口是心非是否合理(至少对于 3-4 表单的小型网站而言)或是否需要通过一切方式避免。
附言这个任务似乎很常见,我想知道我是否做了双重工作并且已经有一个用于 CRUD 特定表单处理的 ZF 类。
最佳答案
也许是 action helper嗯,可以帮助你:
class App_Controller_Action_Helper_ProcessFormSubmit extends Zend_Controller_Action_Helper_Abstract
{
public function isValid(Zend_Form $form)
{
if ($this->getRequest()->isPost()) {
return $form->isValid($this->getRequest()->getPost());
} else {
return false;
}
}
public function direct(Zend_Form $form)
{
return $this->isValid($form);
}
}
这允许您像这样处理表单提交过程:
// or: if ($this->_helper->processFormSubmit->isValid($form)) {
if ($this->_helper->processFormSubmit($form)) {
// here goes code to determine insert/update action,
//retrive record data
//and perform relative database operation
}
这可以扩展到您的需求,例如自动错误处理等等...
关于php - 表单处理代码是否需要抽象? (Zend_Form),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1755606/
我正在处理Zend_Form现在,我很难弄清楚如何: 使用表单按钮的自定义图像, 在特定位置插入文本和链接(就我而言,我想在提交按钮之前添加“忘记密码?”链接)。 我已通读手册,但没有看到任何相关内容
我想创建一个表单,允许用户输入任意数量的值,每个值都使用数组表示法在单独的文本字段中。预期的 HTML 输出示例是: 但是,我似乎无法找到一种方法,使用没有索引的数组表示法在单
我正在研究一个系统,我有一个表格,我需要在其中进行交叉验证。交叉验证我的意思是:如果有人来自美国,系统必须能够检查已选择的州是否是有效的美国州而不是加拿大的省。理想情况下,错误输出消息应该在 faut
首先,我尝试在 stackoverflow 上搜索类似的主题。我知道一些类似的帖子被关闭,因为已经有答案的帖子,我真的觉得它没有帮助(这里: zend form validation ,也许我不够聪明
我已经扩展了 Zend_Form 来创建自定义表单,我将在网站的某些页面上重用该表单。对于这个表单,我还创建了一些基于 jquery 的 JavaScript 验证。 我想要做的是为子类 Zend_F
我有一个表格。 已检查:$isValid = $form->isValid($this->getRequest()->getPost()) 问题是错误是空的。 $form->getErrors()返回
class Form_Accounts_Add extends Zend_Form { public function init($options=array()) { $fi
各位,我在网页中呈现/显示表单时遇到了一些问题。好吧,它在我的本地服务器上运行良好,但一旦我在远程服务器上使用相同的代码,网页显示正常,但表单丢失。 本地主机: 操作系统:Win 7 PHP: 5.3
下面是在 Zend_Form 中创建带有 Yes/No 选项的单选按钮元素的示例代码。关于如何将所需答案设置为"is"的任何想法,因此如果选择“否”,它将无法通过验证?下面的代码将接受 Yes 或 N
我有一个带有下拉字段的 Zend_Form。当用户在 url 中设置一个值时,应在此下拉列表中选择该值作为默认值。 所以我现在做的是: $parlang = $this->getRequest()->
在 Zend Frameworks 教程中,我可以看到像这样的表单处理代码 if ($request->isPost()) { $formData = $request->ge
我已经阅读了很多关于此的帖子,但我无法解决我的问题。当我尝试验证我的 zend 表单验证码时,即使文本正确,它也总是失败。这是我的代码: //我在哪里调用我的表单 public function c
我有一个带有 Zend_Form 的 Zend 应用程序,它应该使用 HTML5 placeholder 属性而不是标签,like done here . class Application_Form
我在使用 Zend_Form 删除默认装饰器集时遇到了麻烦。 我正在尝试扩展 Zend_Form 以实现不同的装饰器风格。 class CRM_Form extends Zend_Form { pu
使用 Zend_Form,我将如何创建这样的表单元素: // etc... 最佳答案 您可以使用子表单: $form = new Zend_Form(); $subForm = new Zend_
动态添加的最佳方式是什么新品 dhtml 内容到通过 Zend_Form 生成的表单。例如,假设表单是这样创建的: class formUser extends Zend_Form { pub
我的 Zend_Forms 之一有一个奇怪的问题:isValid()正确声明我的表单无效,但我没有收到任何错误消息。怎么会这样? 这是代码,这里没什么特别的。 $data是一个帖子数据数组。没有发送文
我有标签装饰器的问题。当我生成一个表单时,我有这样的东西: e-mail 但是我需要 : e-mail 我的代码: $oText = new Zend_Form_Element_Text('us
我正在将一个 Zend_Form 放在一起,它有许多子表单。事实上,它有可能有这么多子表单,我希望它们出现在多个页面上。是否可以使用 Zend_Paginator 创建一些动态页数的多页表单? 这是一
我正在尝试学习 Zend Framework!我对它很感兴趣,但我找不到一个教程说明它应该存储在 Zend_Form 类的位置!也许这是很简单的事情,但我还无法理解......我看过有关此的教程:
我是一名优秀的程序员,十分优秀!