Zend框架相同的验证器不适用于注释

时间:2014-06-05 14:17:22

标签: validation annotations zend-framework2

我正在尝试使用zend验证器从另一个密码字段验证密码确认字段。 我使用注释在我的实体类中声明验证器。但它似乎不起作用......

   /**
   * @ORM\Column(type="string", nullable = false)
   * @Annotation\Attributes({"type":"password", "class":"form-control","name":"mypass"})
   * @Annotation\Options({"label":"Password"})
   * @Annotation\Filter({"name":"StringTrim", "name":"StripTags"})
   */

   protected $password;  

   /**
   * @Annotation\Attributes({"type":"password", "class":"form-control","id":"password_confirm"})
   * @Annotation\Options({"label":"Confirmation"})
   * @Annotation\Validator({"name":"Identical", "options":{"token" : "mypass"}})
   * @Annotation\Filter({"name":"StringTrim", "name":"StripTags"})
   */

   protected $password_confirm;  

你能告诉我我的宣言中有什么问题吗?

1 个答案:

答案 0 :(得分:0)

如果您想与元素进行比较,则需要将strict设置为false。否则,它只会根据" mypass"的string值进行验证。而不是object命名的" mypass"。

/**
 * @Annotation\Options({"label":"Confirmation"})
 * @Annotation\Validator({"name":"Identical", "options":{"strict": false, "token" : "mypass"}})
 * @Annotation\Filter({"name":"StringTrim", "name":"StripTags"})
 */
protected $password_confirm;