I have two related fields in a Symfony form: object_status and cryopreservation_method.
The first one cannot be null and stores one of three possible choices: liquid, solid or cryopreserved.
The second one should be only set if a record has its object_status set to 'cryopreserved'. Otherwise it is NULL.
How can I check this in the server side (not with Javascript) before saving the form? I have tried to check for null or empty values in model, but with no luck.
You have to create a conditional validator. This can be done using a sfValidatorCallback (easier than creating a new validator). Check this example of the Symfony Cookbook (is for 1.2 but works in 1.4).
来源:https://stackoverflow.com/questions/6441982/validate-a-field-depending-on-another-field-value-in-symfony