(棘手?)验证Symfony中的sfWidgetFormChoice表单小部件

时间:2010-02-25 14:57:14

标签: symfony1 symfony-forms

我在Ubuntu 9.10上使用Symfony 1.3.2和Propel ORM。

我正在撰写一份注册表,要求用户提供用户名。

我想对名称的选择施加以下限制:

  1. 该名称是唯一的(即尚未被其他人使用)
  2. 该名称不在存储在数据库表格中的冒犯性名称列表中
  3. 对于第一个要求,可以使用sfValidatorPropelUnique验证器轻松完成。

    然而,挑战在于将第二个要求AND COMBINING要求1和2合并到一个验证器中。

    我想我可以编写一个自定义验证器来执行此操作,但我想知道是否有更好的方法(即使用框架,而不是“滚动我自己的”解决方案?

2 个答案:

答案 0 :(得分:0)

无法想到一个现成的symfony验证器解决方案来做到这一点,并且在任何情况下,您都需要单独编写数据库调用。

我会选择“推出自己的解决方案”,但也许更有经验的人会有更好的主意。

本文档中有关于Propel自动完成的内容,如果您有意进一步探索,可能会给您一些想法:

http://www.symfony-project.org/cookbook/1_2/en/make-a-choice

...由sfFromExtraPlugin提供,但我甚至不确定这是否与1.3兼容。

答案 1 :(得分:0)

你必须使用sfValidatorPropelUnique和一个帖子验证器,see here