aminghadersohi commented on code in PR #45485:
URL: https://github.com/apache/superset/pull/45485#discussion_r4338749813


##########
superset/mcp_service/utils/schema_utils.py:
##########
@@ -34,6 +36,22 @@
 T = TypeVar("T")
 
 
+@contextmanager
+def field_validation_error(field_name: str) -> Iterator[None]:
+    """Attach a declared field location to checks in a model-level validator.
+
+    Keep the original ValueError for Pydantic consumers; the MCP diagnostic
+    formatter exposes only the schema-backed location and a static reason.
+    """
+    try:
+        yield
+    except ValueError as ex:
+        raise ValidationError.from_exception_data(
+            "Field validation",
+            [{"type": "value_error", "loc": (field_name,), "ctx": {"error": 
ex}}],
+        ) from ex

Review Comment:
   @rebenitez1802 correction: two cases this thread covers were not fixed in 
https://github.com/apache/superset/pull/45485. Titles over the length limit 
(dashboard_title over 500 on generate/update/duplicate_dashboard, chart_name 
over 255 on generate_chart) got "Contains disallowed content" instead of a 
length reason, and duplicate_dashboard still returned the opaque reason for a 
whitespace-only title. Both are handled in 
https://github.com/apache/superset/pull/45575 .
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to