Zend_Config_Ini 中的 Zend_Form_Element

发布于 2024-11-30 17:44:57 字数 631 浏览 3 评论 0原文

目前,我正在从一个 ini 文件加载表单元素定义,如下所示:

[tickets] ; tablename
ticket_number.name = "ticket_number"
ticket_number.type = "text"
ticket_number.label = "Ticket ID: "
ticket_number.options.validators.alnum.validator = "alnum"
ticket_number.options.validators.strlen.validator = "StringLength"
ticket_number.options.validators.strlen.options.min = "6"
ticket_number.options.validators.strlen.options.max = "20"

assigned_date.name = "assigned_date"
assigned_date.type = "text"
assigned_date.label = "Entered Date: "

现在假设我有一个表单元素(选择/下拉框),并且我想从数据库(查找表)加载选项,是有没有一种方法可以在表单元素 ini 配置中自动配置它,或者是否必须在创建元素时在表单类中完成?

Currently I am loading form element definitions from an ini file that looks like this as an example:

[tickets] ; tablename
ticket_number.name = "ticket_number"
ticket_number.type = "text"
ticket_number.label = "Ticket ID: "
ticket_number.options.validators.alnum.validator = "alnum"
ticket_number.options.validators.strlen.validator = "StringLength"
ticket_number.options.validators.strlen.options.min = "6"
ticket_number.options.validators.strlen.options.max = "20"

assigned_date.name = "assigned_date"
assigned_date.type = "text"
assigned_date.label = "Entered Date: "

Now lets say I have a form element (select / dropdown box), and I want to load the options from a database (lookup table), is there a way to automatically configure that within the form elements ini config, or does that have to be done within the form class upon creation of the element?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

佞臣 2024-12-07 17:44:57

嗯,有很多方法可以做到这一点,问题是你是否真的想这样做。

可能的方法:

  1. 创建您自己的智能选择元素,该元素能够根据您在 ini 文件中提供的某些选项值构建 multiOptions 列表。
  2. 或者,在创建表单实例之前,将 multiOptions 值注入到 Zend_Config 文件中。
  3. 或者,在创建表单实例后,使用 $form->getElement('name')->setMultiOptions(array(..)) 设置 multiOptions

Well, there are ways to do this, the question is whether you actually want to do this.

Possible ways to do it:

  1. Create your own smart select element, which has the ability to build a multiOptions list based on some option values which you provide in your ini file.
  2. or, before creating the form instance, inject the multiOptions values into the Zend_Config file.
  3. or, after you've created the form instance, set the multiOptions using $form->getElement('name')->setMultiOptions(array(..))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文