sfValidatorSchemaCompare
сравнивает введенное значение в двух полях (как в первом примере).Например: он проверяет, соответствует ли password
значениям password_confirm
.В этом случае поля password
и password_confirm
должны быть полями в вашей форме (точнее, валидаторами).
В вашем случае вы хотите проверить, соответствует ли secret_key
значению предопределенное значение , , а не другое поле.И это немного странно , по умолчанию у symfony нет валидатора для проверки этого.Но вы можете легко использовать sfValidatorChoice
для достижения цели:
$this->validatorSchema['secret_key'] = new sfValidatorChoice(array('choices' => array('123456')));
В этом случае значение, введенное в secret_key
, сопоставляется со списком значений, который содержит только ваш секретный ключ.
И небольшой «совет» ;-): добавьте secret_key в свой app.yml, а затем просто добавьте sfConfig::get('app_form_secret_key')
для проверки.