如何在Symfony 1.4中验证变量

时间:2011-06-27 08:59:59

标签: validation symfony1 symfony-1.4 symfony-forms

我使用Symfony 1.4.11。我有两张表“公司”和“广告”。当用户添加新广告时,他可以将广告与其公司联系。在此之前,我检查,如果用户有公司,例如我有变量$has_company,如果$has_company==1 - 用户有公司,如果{{1他没有陪伴。如果用户希望连接公司与广告,他必须检查复选框:-)所以我想验证复选框,如果用户选中复选框,他没有公司,我想显示消息,首先他必须创建公司....是有可能吗?我可以使用sfValidatorBoolean吗?如果是,如何验证变量$has_company==0?谢谢!

2 个答案:

答案 0 :(得分:1)

我认为您可以在myUser类中创建一个方法来检查当前用户是否有公司(如果您的模型用户和公司已链接)。
然后,您可以在表单的选项中传递此方法的结果。 要进行验证,您可以使用回调验证器:http://www.symfony-project.org/forms/1_4/en/B-Validators#chapter_b_sub_sfvalidatorcallback

答案 1 :(得分:0)

您可以使用 halt_on_error 选项,例如

$v = new sfValidatorAnd(
  array(
    new sfValidatorString(array('max_length' => 255)),
    new sfValidatorEmail(),
  ),
  array('halt_on_error' => true),
  array('invalid' => 'The input value must be an email with less than 255 characters.')
);