新在symfoob娱乐下载ny 1.2:上帝保佑嵌套形式
2008年的11月5日·发表的法比安效力
在syob娱乐下载mfony 1.1中,我们介绍了一种新型sub-framework。这是一个伟大的一步symfony,即使有点陡峭的学习曲线。ob娱乐下载
我们很多工作甚至更好的symfob娱乐下载ony 1.2,更重要的是简单的对于新手来说。
形式框架的一个优势是能够处理嵌套形式。一种形式可以嵌入一种形式反过来也可以嵌入另一种形式(等等):
美元的文章= ArticlePeer::doSelectOne(新标准());articleForm美元=新ArticleForm(美元的文章);authorForm美元=新AuthorForm(美元的文章- >getAuthor());companyForm美元=新AuthorForm(美元的文章- >getAuthor()- >getCompany());authorForm美元- >embedForm(“公司”,companyForm美元);articleForm美元- >embedForm(“作者”,authorForm美元);
的articleForm
呈现如下显示:
形式框架的另一个很棒的特性是它能够自动序列化形式。上面的形式推动的,一个简单的调用$ articleForm - >保存()
会自动更新美元的文章
对象的提交和验证值并将其保存回数据库。
但是有一个问题在symfony 1.1。ob娱乐下载的作者
和公司
对象没有被自动保存。所以,你必须覆盖save ()
方法验证数据和手动更新的对象。没有什么不可能,但真的厌烦形式框架已经让它自动所需的所有信息。
这是在symfony中实现1.2所以将与即将到来的betaob娱乐下载 2是可用的。没错,一个电话形式- > save ()
现在将更新文章,作者,公司对象。这是一个好消息,但还有另一个:欧宝平台是合法的吗新管理发电机也考虑了这个新功能。
发表在#生活在边缘
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
因为有很多可能性原则和很容易就会瘫痪。
更好的做法是embedForm类或形式的行动。我找到了最初的函数,但我有一个新的表单类我不知道如果这就是导致验证问题。
这篇文章是在一个完美的我,我试着使用这个特性在一个全新的项目,但我不得不面对一个问题,许多用户可能不得不面对自己的项目。
在我的文章的形式,我添加了一个作家被嵌入的形式,但只有在目的添加一个新作者。
所以我在自己的表格上有三个重要领域:
——选择字段与现有的作者
——一个复选框“添加一个新的作者”我补充道
——一个空的形式,作者添加一个新作者
这是我想要的态度:
如果选中“添加一个新的作者”
我不得不desactivate现有作者选择字段验证器
然后保存新作者,链接的文章
其他的
我必须desactivate围住“新作者”的形式
和处理的基本现有作者字段
由于sfValidatorCallback,我知道我可以添加一些自定义验证器根据提交的值。
但我怎么能恰当地禁用一些验证器根据“添加一个新的作者”检查测试?
我知道这句话似乎混淆,这是形成话题,我创建了n这个主题,截图和源代码。
sh1ny:是的这是原则。我刚刚注意到在1.1你必须手动运行原则:在1.2构建表单应用程序。它会自动构建形式,过滤器,和模型在运行原则:构建所有
这对合并后的工作形式吗?
我们如何处理这个当使用Admin发电机吗?
它可以动态添加字段吗?例如,当你要编辑一个发票,你可以有一个变量的行数可能通过JS动态添加。
目前,在Symfony 1.1项目,我把我的ob娱乐下载台词作为单独的形式和我“链接”推动线对象的数组(它们与相同的数组索引)。
这个解决方案工作但是我看起来并不可靠。是明显的有一个现成的解决方案……
谢谢
我用嵌入形式和嵌入对象也被教条
我认为:
(companyForm = new AuthorForm美元文章- > getAuthor () - > getCompany ());
应该是:
(companyForm = new companyForm美元文章- > getAuthor () - > getCompany ());
强大的功能这个嵌套的事情!
@Arne是的这已经与教义。这是一面学说如何处理关系的影响在使用$对象- > fromArray()方法并推动不。