我正在使用 Zend MVC 框架以及使用 Propel 生成的 ORM 层,并且我试图找出从 Propel 对象的 save() 函数中捕获异常并将它们作为错误抛出到 Zend Form 的最佳方法。
并非所有来自 Propel 对象的异常都有办法识别哪个字段导致错误,所以我想知道是否有办法将通用错误消息添加到整个表单,而不是被迫附加每个特定表单元素的错误消息。
例如,我有一个包含在 try/catch 块中的 save() 调用,我可以将 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);
}
我希望这是有道理的,谢谢你的帮助,
戴夫