1

因此,我的表单类型中有一个具有 read_only 属性的输入。当我提交表单时,数据不会发布到页面上,这很好,也是我所期望的。

但是当表单被绑定(使用->bind())然后验证时,它告诉我输入需要有一个值。

页面重新加载,“read_only”字段中没有数据。

我希望绑定意识到输入是只读的,而不是将其验证为假,但 symfony2 仍在尝试读取read_only输入,即使数据未提交

有什么想法,或者这是正确的行为吗?

4

1 回答 1

0

似乎对我有用的解决方案是,我需要将 thedisabledread_only属性都设置为 true。


我现在对属性有了更好的理解,虽然有点混乱:

read_only将为您提供禁用的表单输入,因此用户无法更改值,并且绑定时数据不会持久保存到实体(->bind())。- 如果还需要此输入并且您尝试验证它,那么它显然是错误的。

disabled将保持输入不变,但忽略用户发布的所有数据,并且不会将其持久化到实体中。

因此,即使令人困惑,您也需要始终使用两者

于 2013-05-30T10:31:16.303 回答