【问题标题】:How to validate variable in Symfony 1.4如何在 Symfony 1.4 中验证变量
【发布时间】:2011-09-23 08:26:42
【问题描述】:

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

【问题讨论】:

    标签: validation symfony1 symfony-1.4 symfony-forms


    【解决方案1】:

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

    【讨论】:

    • 非常感谢!sfValidatorCallback是我需要的)你是最棒的;-)我也用this的文章。
    • 嗯,但我有一些小问题)当验证通过时,我选中复选框,值未在 db 中设置(
    【解决方案2】:

    您可以使用 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.')
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 2011-09-10
      相关资源
      最近更新 更多