我使用Zend MVC框架以及用Propel生成的ORM图层,我试图找出从Propel对象的save()函数中捕获异常的最佳方法,并抛出他们以Zend表格作为错误。Zend框架中的表单级别验证
并非所有来自Propel对象的异常都有一种方法来确定哪个字段导致错误,所以我想知道是否有一种方法可以将通用错误消息添加到整个表单中,而不是被迫将每个错误消息附加到特定的表单元素。
例如,我有一个保存()调用包装在try/catch块,我可以添加exception->的getMessage()的表单元素的错误:
try {
$obj->save();
echo 'object saved successfully';
} catch (Exception $e) {
$form->name->addErrorMessage($e->getCode()." - ".$e->getMessage());
$form->name->markAsError();
$form->populate($formData);
}
但我想要能够做这样的事情:
try {
$obj->save();
echo 'object saved successfully';
} catch (Exception $e) {
$form->addErrorMessage($e->getCode()." - ".$e->getMessage());
$form->markAsError();
$form->populate($formData);
}
我希望是有道理的,感谢您的帮助,
戴夫
我可以使用Zend检查表单图层中的所有字段,但是我仍然想要将Propel错误作为最终检查进行冒泡。理想情况下,我将把可能从Propel返回的所有可能的错误合并到Zend中的表单层中,但现在我只想阻止表单提交到一个讨厌的PHP错误页面。 我将不得不做一些研究,找出在Zend_Form中唯一的关键约束错误的最佳方法。谢谢你的帮助, – 2010-02-02 15:00:17