如何调试Zend\Form?
How to debug a Zend\Form?
在一个项目中,我有一个巨大的表单 -- 有很多字段、嵌套字段集、集合等。表单验证失败,我不知道为什么。
遇到这样的问题应该怎么处理? 找出表单验证失败原因的有效方法是什么?
我终于找到了一种无需调试每个(子-子-子)字段集和每个(子-子-子)元素即可检测验证错误的方法。在视图脚本中很简单$form->getMessages()
. Or alternatively $this->FormElementErrors($form)
我以前知道这个方法吗?当然,我做到了。但我不关心方式,它是如何工作的,属性 messages
让我误入歧途:
当我遇到验证问题时,我在 Zend\Form#isValid()
调用之后的某处设置了一个断点,然后在 Xdebug 中看到 Zend\Form#messages
属性 是空的。我对此感到惊讶,因为 属性 "messages" 表明它将包含(验证错误)消息。此逻辑适用于 in Element
s —— Form
实际上 是 Element
(因为 Form
extends
Fieldset
extends
Element
).
在一个项目中,我有一个巨大的表单 -- 有很多字段、嵌套字段集、集合等。表单验证失败,我不知道为什么。
遇到这样的问题应该怎么处理? 找出表单验证失败原因的有效方法是什么?
我终于找到了一种无需调试每个(子-子-子)字段集和每个(子-子-子)元素即可检测验证错误的方法。在视图脚本中很简单$form->getMessages()
. Or alternatively $this->FormElementErrors($form)
我以前知道这个方法吗?当然,我做到了。但我不关心方式,它是如何工作的,属性 messages
让我误入歧途:
当我遇到验证问题时,我在 Zend\Form#isValid()
调用之后的某处设置了一个断点,然后在 Xdebug 中看到 Zend\Form#messages
属性 是空的。我对此感到惊讶,因为 属性 "messages" 表明它将包含(验证错误)消息。此逻辑适用于 in Element
s —— Form
实际上 是 Element
(因为 Form
extends
Fieldset
extends
Element
).