问题标签 [symfony-forms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1328 浏览

symfony1 - (棘手?)在 Symfony 中验证 sfWidgetFormChoice 表单小部件

我在 Ubuntu 9.10 上使用带有 Propel ORM 的 Symfony 1.3.2。

我正在写一个注册表单,它要求用户提供一个用户名。

我想对名称的选择施加以下限制:

  1. 该名称是唯一的(即尚未被其他人使用
  2. 该名称不在攻击性名称列表中,存储在数据库表中

对于第一个要求,可以使用 sfValidatorPropelUnique 验证器轻松完成。

然而,挑战在于实现第二个要求并将要求 1 和 2 组合到单个验证器中。

我想我可以编写一个自定义验证器来执行此操作,但我想知道是否有更好的方法来执行此操作(即使用框架,而不是“滚动我自己的”解决方案?

0 投票
2 回答
4801 浏览

symfony1 - 关于如何在 Symfony 中嵌入表单的示例

我在 Ubuntu 9.10 上使用带有 Propel ORM 的 Symfony 1.3.2。

我有一个用户配置文件表,其中有许多其他表链接到它(即 user_profile.id 是许多其他表中的 FK。

我的数据库架构看起来像这样:

我想在用户配置文件表单中嵌入链接到用户配置文件对象的其他对象,这样当我在用户配置文件表单上执行 CRUD 时,相关对象(例如 UserVehicle、UserJob 也是 CRUD 同时作为用户配置文件对象)。

我需要一个简单的片段来展示如何:

  1. 将各种相关对象(即 UserVehicle、UserChild)嵌入到 UserProfile 表单中
  2. 在进行操作时创建/更新/删除各种相关对象(请注意,一个用户可以拥有超过 0-N 辆汽车或分配给他们的儿童
0 投票
2 回答
1533 浏览

symfony1 - 教义传承。有没有一种简单的方法可以让所有子类/表在 symfony 表单的选择字段中使用它们?

我刚开始使用 symfony 1.4 和 Doctrine。(以前使用过 1.0 - 1.2 + Propel)。

我想尝试一下 Doctrine,因为过去的快速和巨大的开发过程。

感谢 jwage ;-)

我使用表继承。这是我的 schema.yml 的一小部分:

...

...

...

我现在正在考虑使用一种简单的方法来创建正确的表单。

用户应该必须选择表单顶部的字段(如您可以在此处看到的:http: //msm-esv.dyndns.org/frontend_dev.php/fahrzeuge/insert

您应该选择“父类”,例如 Rennfahrzeuge 或 Karts 等。

之后,用户应该选择像 Tourenwagen 或 Sonstige 这样的子类。

然后页面应该重新加载并显示正确的表单。

Doctrine 中是否有任何函数可以获取继承/子类以在第二个选择字段中显示它们?

(例如 Rennfahrzeuge 有 Tourenwagen,..,..., Sonstige 和 Karts 有 TonyKart,...,...,Sonstige)

之后,我可以动态创建分配的表单类,例如:

或者我考虑过在父表单类中设置正确的模型。

你怎么认为?我真的很感激任何建议和帮助:-)

非常感谢,

马可

0 投票
1 回答
1705 浏览

php - Symfony 表单问题(恢复动态填充的 sfWidgetFormSelect 小部件的选定值)

我在 Ubuntu 9.10 上使用带有 Propel ORM 的 Symfony 1.3.2。

我开发了一种使用 AJAX 动态填充所选国家/地区城市的选择小部件的表单。

在保存表单上输入的数据之前,我验证了表单。如果验证失败,则将表单返回给用户进行更正。但是,由于国家列表是动态生成的,因此为更正而呈现的表单没有选择有效的城市(它是空的,因为国家小部件尚未更改)。

这对用户来说很不方便,因为这意味着他们必须选择另一个国家(因此会触发更改事件),然后更改回他们选择的原始国家,然后最终选择他们最后选择的城市。

所有这一切都是强加给用户的,因为另一个(可能不相关的)字段没有生效。

我尝试了 $form->getValue('widget_name'),在 $form->bind() 之后立即调用,但似乎(事实上,IIRC,如果表单无法验证,所有值都重置为 null) - 确实如此不行。

我目前正在尝试一个令人讨厌的 hack,它涉及通过 $_POST 直接访问输入(即受污染的)数据,并将它们设置为 flash 变量 - 但我觉得这是一个非常讨厌的 hack)

我正在尝试做的是一个常见的用例场景 - 有没有更好的方法来做到这一点,而不是使用 $_POST 等进行黑客攻击?

0 投票
1 回答
798 浏览

symfony1 - Symfony select_tag() 助手的唯一 ID

使用 select_tag() 助手,有没有办法避免将 id 传递给生成的元素?

如果没有,当您在一个页面上多次使用相同的表单并且想要保持 id 唯一时,您会怎么做?

0 投票
1 回答
2365 浏览

php - 无法让自定义错误渲染在 symfony 1.4 中工作

我正在尝试根据此示例在我的表单中自定义错误呈现。

这是我的代码:

但是当$this['message']有错误时这个代码返回'<ul></ul>'所以它似乎foreach ($this['message']->getError() as $error)不会导致迭代

$this['message']->getError()返回sfValidatorError对象 - 也许在 symfony 1.4 中发生了一些变化,它不再是可迭代的......

起初我认为该示例中的所有魔术都是因为$error迭代放置的对象实现了 __toString() 但似乎根本没有迭代发生......

0 投票
1 回答
924 浏览

symfony1 - sfJQueryUIPlugin:没有新记录的选择器

Symfony 的每一天都是新的一天,但我很喜欢它!今天早上我安装了sfJQueryUIPlugin. 它几乎没有依赖关系并接受 themeRoller 样式。但是,它有两个问题:

[Feature_Request] 无法指定年份范围。默认情况下,它会在字段值中显示围绕年份的 20 年范围。例如。如果字段值为 1993-01-20,则范围为 1983 到 2003。 ??? 有没有人找到出路???

DatePicker 字段为空时不会出现,因此在创建新记录时不会出现。 为了解决这个问题,我尝试使用???在日期输入字段(现在显示为text输入)中设置默认值 $this->setDefault('date_of_birth',date('Y-m-d'));在新记录创建期间是否有人面临选择器的这个问题??????这也是设置默认值的正确方法吗???

提前致谢。

0 投票
4 回答
1660 浏览

symfony1 - sfWidgetFormSchemaFormatter:嵌入表单名称的格式

我试图在 Symfony 1.4 中创建一个自定义格式化程序。我通过嵌入表单

有没有办法格式化嵌入表单“用户”的名称?

0 投票
1 回答
10214 浏览

symfony1 - symfony 学说:insert-sql - “找不到名为 mysql 的驱动程序”错误

嘿,我是symfony的新手。我在 symfony-project.com 上关注这个 joobet 教程,我在第 3 天http://www.symfony-project.org/jobeet/1_4/Doctrine/en/03 每当我输入 php symfony 学说:insert-sql ,我收到以下错误:

学说创建表找不到名为 mysql 的驱动程序

我在 WAMP 上使用它。我在 C:\wamp\bin\php\php5.3.0\PEAR\symfony 有 symfony,我的项目在 C:\wamp\www\jobeet 请帮我解决这个问题,因为我被困在这里,无法移动更远。

0 投票
2 回答
1156 浏览

symfony1 - Symfony 表单 - 记住以前选择的文件

我在 Ubuntu 上使用 Symfony 1.3.2,我有一个包含多个小部件的表单。一个小部件是 sfWidgetFormInputFile,它允许用户选择一张图片。

如果表单无效,我会再次将其呈现给用户,以更正错误的字段。

我遇到的问题是,目前,当 foem 无法验证(无论出于何种原因)时,用户指定的图片文件会丢失(即他们必须再次选择文件)。

如何在所选图片文件仍然存在的情况下再次向用户显示表单(因此他们不必再次选择文件)?

在处理 POST 表单的操作中,我调用 getFiles($key),然后索引检索到的数组以获取文件信息,并设置小部件的默认值(见下文)。但是,呈现的小部件是空的(不保留先前选择的文件的路径名的值。

我的(操作)代码片段如下所示:

谁能建议如何正确实现上述所需的行为?