Php libxml_get_错误自定义错误处理程序
嗨 我已经创建了一个模块,该模块从有效的xml构建表单,表单提交后,它将重建一个xml并根据xsd模式对其进行验证。如果表单未正确编译,它将返回到表单,并返回libxml_get_errors获取的所有错误消息。问题是libxml_get_错误不会生成用户友好的错误消息。 有没有办法扩展错误处理程序以生成更简单、更用户友好的错误消息Php libxml_get_错误自定义错误处理程序,php,xml,error-handling,Php,Xml,Error Handling,嗨 我已经创建了一个模块,该模块从有效的xml构建表单,表单提交后,它将重建一个xml并根据xsd模式对其进行验证。如果表单未正确编译,它将返回到表单,并返回libxml_get_errors获取的所有错误消息。问题是libxml_get_错误不会生成用户友好的错误消息。 有没有办法扩展错误处理程序以生成更简单、更用户友好的错误消息 if (!$doc->schemaValidate($schema_riferimento)) { $errors = libxml_get_erro
if (!$doc->schemaValidate($schema_riferimento))
{
$errors = libxml_get_errors();
foreach ($errors as $error)
{
array_push($global_errors, $error->message);
log_message('debug', "Errore di validazione: ".$error->message);
}
}
我只想创建一个散列,在其中保存友好的错误消息,由错误代码键入 例如:
$friendly_errors = array(
'0' => 'One friendly error message',
'1' => 'Another friendly error message
);
$friendly_error_message = $friendly_errors[$error->code];
log_message('debug', $friendly_error_message);
很简单。我只想创建一个散列,在其中保存友好的错误消息,由错误代码键入 例如:
$friendly_errors = array(
'0' => 'One friendly error message',
'1' => 'Another friendly error message
);
$friendly_error_message = $friendly_errors[$error->code];
log_message('debug', $friendly_error_message);
简单。你说的“更简单”和“更友好”到底是什么意思?你能举个例子吗?当然。。。libxml_get_errors生成的一个典型错误是:“'piva_-utete':[facet'pattern']模式'\d{11}'不接受值'IdentificationVirichiesta_u-piva_-utete',我想显示一个类似“字段xxx必须是11位数字”的错误,或者类似的东西…@Nextneed-你从哪里得到错误消息?你确定是来自libxml\u get\u error而不是xml本身吗?@ajreal-是的,它们来自libxml\u get\u errors,我将所有错误消息推送到一个数组中,并将其发送到表单生成器。。。如果(!$doc->schemaValidate($schema_riferimento)){$errors=libxml_get_errors();foreach($errors as$error){array_push($global_errors,$error->message);log_message('debug',“error di validazione:.$error->message);}@下一步-你有错误代码+消息,完全取决于你如何做显示。。。10000%是一个蹩脚的问题你所说的“更简单”和“更友好”到底是什么意思?你能举个例子吗?当然。。。libxml_get_errors生成的一个典型错误是:“'piva_-utete':[facet'pattern']模式'\d{11}'不接受值'IdentificationVirichiesta_u-piva_-utete',我想显示一个类似“字段xxx必须是11位数字”的错误,或者类似的东西…@Nextneed-你从哪里得到错误消息?你确定是来自libxml\u get\u error而不是xml本身吗?@ajreal-是的,它们来自libxml\u get\u errors,我将所有错误消息推送到一个数组中,并将其发送到表单生成器。。。如果(!$doc->schemaValidate($schema_riferimento)){$errors=libxml_get_errors();foreach($errors as$error){array_push($global_errors,$error->message);log_message('debug',“error di validazione:.$error->message);}@下一步-你有错误代码+消息,完全取决于你如何做显示。。。10000%是个蹩脚的问题