ZF2验证 - 如果另一个元素不为空,则需要字段

时间:2012-12-07 18:11:00

标签: zend-framework2

我有在Zend Framework 2中进行自定义验证的经验(目前使用的是2.0.5版本)。我有兴趣在“编辑个人资料”表单中创建更改密码部分。我希望能够做的是有3个领域:

  • 当前密码,
  • 新密码,
  • 确认新密码。

然后我想验证如下:

  • 如果设置了新密码,则还必须设置(并验证)当前密码,并确认新密码应与新密码匹配。
  • 如果设置了当前密码,则还必须输入新密码并确认新密码。
  • 如果未设置,则允许编辑配置文件的其余部分,因此请继续验证。

我认为你可以了解我所追求的内容,我正在寻找一种可重复使用Zend Framework 2的方法。理想情况下,创建一个自定义验证器,以便表单可以重用,我怀疑工厂方法可能会更好。任何事情,所以我不必在控制器/服务层检查它,并重复我自己想要使用它。

亲切的问候,

ISE

1 个答案:

答案 0 :(得分:-2)

您可以添加自定义过滤器,但我认为这也可以使用验证组完成并单独验证输入组。

您可以将密码字段添加到单独的组中,并且只有在主密码不为空时才验证该组。

http://framework.zend.com/manual/2.0/en/modules/zend.input-filter.intro.html

http://framework.zend.com/manual/2.0/en/modules/zend.form.collections.html#validation-groups-for-fieldsets-and-collection