From 626c3dbf558efbeadb64c5f6837904db976c80c0 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Sun, 10 Apr 2022 14:59:26 +0200 Subject: [PATCH] MVC / Core - when throwing Validation\Exception, make sure to add the current field contents when we can find it. This improves model migration log output and helps debugging issues. related to https://github.com/opnsense/core/issues/5693 --- src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php b/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php index 6122208d8..53bdaaad5 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php @@ -568,6 +568,10 @@ abstract class BaseModel foreach ($messages as $msg) { $exception_msg_part = "[" . get_class($this) . ":" . $msg->getField() . "] "; $exception_msg_part .= $msg->getMessage(); + $field_value = $this->getNodeByReference($msg->getField()); + if (!empty($field_value)) { + $exception_msg_part .= sprintf("{%s}", $field_value); + } $exception_msg .= "$exception_msg_part\n"; // always log validation errors $logger->error($exception_msg_part);