我在Symfony表单中有两个相关字段:object_status
和cryopreservation_method
。
第一个不能为空,并存储三种可能的选择之一:liquid
,solid
或cryopreserved
。
如果记录的object_status
设置为'cryopreserved'
,则只应设置第二个。否则为NULL
。
如何在保存表单之前在服务器端(不使用Javascript)检查此内容?我试图在模型中检查空值或空值,但没有运气。
答案 0 :(得分:3)
您必须创建条件验证器。这可以使用 sfValidatorCallback 完成(比创建新的验证器更容易)。检查Symfony Cookbook的this example(适用于1.2但适用于1.4)。