Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
因此,我的表单类型中有一个具有 read_only 属性的输入。当我提交表单时,数据不会发布到页面上,这很好,也是我所期望的。
但是当表单被绑定(使用->bind())然后验证时,它告诉我输入需要有一个值。
->bind()
页面重新加载,“read_only”字段中没有数据。
我希望绑定意识到输入是只读的,而不是将其验证为假,但 symfony2 仍在尝试读取read_only输入,即使数据未提交
read_only
有什么想法,或者这是正确的行为吗?
似乎对我有用的解决方案是,我需要将 thedisabled和read_only属性都设置为 true。
disabled
我现在对属性有了更好的理解,虽然有点混乱:
read_only将为您提供禁用的表单输入,因此用户无法更改值,并且绑定时数据不会持久保存到实体(->bind())。- 如果还需要此输入并且您尝试验证它,那么它显然是错误的。
disabled将保持输入不变,但忽略用户发布的所有数据,并且不会将其持久化到实体中。
因此,即使令人困惑,您也需要始终使用两者