问题标签 [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.
symfony1 - symfony 执行多个查询以填充重复的表单字段
我的 symfony 项目有一个对象 A,它与对象 B 具有一对多的关系,即
在 A 的表单中,我使用 $this->embedRelation('B') 来显示用于输入/编辑 B 的表单。到目前为止一切都很好。
B 的表单包含一个自动生成的 sfWidgetFormChoice,它是从数据库中自动填充的。然而,当表单 B 多次出现在表单 A 中时,symfony 会多次查询数据库以填充 sfWidgetFormChoice 选择控件:
有没有办法向 symfony 表明它只需要运行一次这个查询?
php - Symfony 嵌入式表单 - 多对多关系
我正在使用 symfony 1.4 和 Propel 作为 ORM。我有一个需要在其中嵌入其他表单的表单。另一种形式是连接客户和某个对象的 n:m 关系。我不知道如何嵌入它,以便它为客户显示所有对象。
考虑到以下架构,我想在 Customer 表单中嵌入 CustomerCountryGroup 表单以显示与用户相关的 CuountryGroup 对象列表。
这是我的 schema.yml:
你知道我在哪里可以找到这个问题的一些教程/解决方案吗?
非常感谢
symfony1 - symfony 1.4 在新操作中使用后验证器会引发错误
我对表单有以下操作。在 MyForm 定义中,我添加了 post 验证器,因此我可以通过特定条件一次验证两个字段。问题来了,在通过验证后,symfony 向我发送一个错误,并将空值存储在数据库的新记录中。我在这里发布我的代码......我的表单只有两个字段,用户最多从两个列表中选择每个字段来创建新记录。受模式限制,这两个字段的组合是唯一的。此外,我需要验证这些字段的某些组合不允许创建新记录。
动作.class.php:
MyForm.class.php
当我注释掉 mergePostValidator 行时,一切正常,但是我无法验证不接受我的两个字段的某些组合的条件。
并且当按原样使用此代码时:如果组合无效,一切正常,表单再次出现“字段关系无效!” 信息。但如果组合有效,symfony 会抛出以下错误:
警告: 在第 169 行的 /path/to/symfony/lib/plugins/sfDoctrinePlugin/lib/form/sfFormDoctrine.class.php 中为 foreach() 提供的参数无效
可捕获的致命错误: * 传递给 Doctrine_Record::fromArray() 的参数 1 必须是一个数组,给定 null,在第 150 行的 /path/to/symfony/lib/plugins/sfDoctrinePlugin/lib/form/sfFormDoctrine.class.php 中调用并在第 1970 行的 /ṕath/to/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Record.php 中定义*
警告: 在第 1973 行的 /path/to/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Record.php 中为 foreach() 提供的参数无效
然后是一些关于无法修改标题以响应的警告/错误(但我自己没有修改任何内容,也许只是操作 Create 方法中的 $this->setTemplate('new') ......
我正在使用 Symfony 1.4.9,但也尝试使用 SVN 服务器(rev 32070)的 1.4 开发分支并得到相同的结果。阿帕奇 2.2、PHP 5.2.6
php - 为表单小部件赋值
我在 _form.php 中有一个表单小部件
symfony 创建了基类:
我手动重新创建了下拉列表,这样我就可以合并一个“onchange”事件:
我如何分配一个值,echo $form['catcher_id']
因为现在当我从下拉列表中选择一个值并单击提交时,验证器说 catcher_id 是必需的(因为我手动创建了下拉列表),那么我该如何手动设置值???
我有:
但它不起作用。
symfony1 - symfony 1.4在表单上传后处理文件,不将数据发送到数据库,但将文件保存在磁盘中
我有一个带有 sfWidgetFormInputFile 字段的表单。我正在上传图片,上传后,我想对刚刚上传的文件做一些处理。
我知道我可以为此使用 valid_file_class。我在我的自定义类中覆盖了 save() 方法,并且文件被正确保存,但在数据库中的存储不起作用,它只是向我发送文件名字段的空值。我错过了什么吗?
以下是相关代码:
symfony-1.4 - Symfony - 在 Propel 中嵌入表单
我有一个管理模块,它有一个文件输入文件,我想上传一个文件。我希望将文件作为 blob 上传到数据库,因为这是我的限制。我知道这是不好的做法,但我无法将文件添加到文件系统。
我有以下架构:
到目前为止,我已经在 BlobForm.class.php 中创建了所有小部件和模式,然后我尝试将此表单嵌入到我的 PressPhotoForm.class.php
现在,当我选择文件并上传时,它似乎确实已添加到 blob_data 表中,但在 press_photo 表中,blob_data_id 为空白,并且输入小部件上没有复选框表示有图像。
有人可以阐明如何在上传时将 blob_data_id 放入 press_photo 表中吗?
谢谢
编辑:
这是我的表格:
}
类 PressPhotoForm 扩展 BasePressPhotoForm {
}
谢谢
symfony1 - Symfony Embedded Relation Many2Many - 链接唯一字段或创建新字段
我正在使用嵌入式关系来允许用户编辑/将书籍添加到图书馆,并以相同的形式添加/删除在自动生成的管理员中写书的 n 个作者。
这是我的问题:作者姓名是唯一的,因此当我输入已经存在的作者时,sfValidatorDoctrineUnique 会产生错误。
已存在具有相同“名称”的对象。
我想要做的是捕获这个错误并告诉表单不要尝试重新添加现有作者。
我应该为此使用事件系统,还是修改验证器,或者我该怎么做?
非常感谢你
PS:经过一番搜索,我发现了一些可能是解决方案但我还没有让它工作的东西 http://symfonyguide.wordpress.com/2009/09/28/symfony-forms-saving-process/
symfony1 - symfony 1.4 在选择小部件中显示图像作为选择
我有一个带有特定选择小部件(DoctrineChoice)的表单。选项引用服务器中的某些图像文件,我使用 expander=true 选项(用于复选框/单选按钮)
有没有办法通过显示每个选项的图像来显示小部件?默认情况下,我只获得数据库中选项的 ID。
使用 firebug,我注意到生成的 HTML 有一个带有每个选项 id 的标签,而且,我设法用某个图像更改了它,所以我猜我需要做的就是更改文本每个选项的标签。即使小部件的“标签”选项只是更改了整个选择的标签,所以这不会......
谢谢!
symfony-1.4 - symfony - 保存 blob 数据图像大小
我有一个表单,PhotoForm,它有一个嵌入的 BlobDataForm。
我可以很好地保存 blbo 数据,我的问题来了,使用 blob_data 表。
我有 2 个字段,image_width 和 image_height。
当 blob 被保存时,我也想保存这些详细信息。
我已经覆盖了 doSave();
我还需要覆盖 saveEmbeddedForms() 吗?
谢谢
编辑:
好的,所以看来我需要覆盖:
过程值()
我只是无法获取图像的宽度和高度属性。
有谁知道我会怎么做?
谢谢
symfony1 - 更新/编辑上下文中的 sfValidatorDoctrineUnique
我在两个不同的上下文中使用表单类:既可以创建新记录,也可以编辑该记录。我设置了如下验证器来检查 URL 字段是否唯一。
当我创建新记录时,验证器工作得很好。但是,在编辑现有记录时,它会引发错误,因为它将自己检测为重复。换句话说,如果我编辑记录但不更改 URL,则会引发重复错误。
这一定是一个常见问题,所以我想知道 Symfony 的处理方式是什么?基本上我希望它在保存时忽略自己(不存在重复),但仍然运行后验证器以确保不存在真正的重复。