Skip to content

Commit f5b20f9

Browse files
address reviews
1 parent 28c089f commit f5b20f9

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/django_unicorn/components/unicorn_view.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,18 @@ def validate(self, model_names: list | None = None) -> dict:
716716
self.errors.update(form_errors)
717717

718718
# ── form_classes path ────────────────────────────────────────────────
719+
self._validate_object_forms(model_names)
720+
721+
return self.errors
722+
723+
@timed
724+
def _validate_object_forms(self, model_names: list | None = None) -> None:
725+
"""
726+
Validates object fields using ``form_classes`` and merges dotted-path
727+
errors (e.g. ``"book.title"``) into ``self.errors``.
728+
729+
Called by :meth:`validate`; split out for readability.
730+
"""
719731
object_forms = self._get_object_forms()
720732

721733
for field_name, obj_form in object_forms.items():
@@ -744,8 +756,6 @@ def validate(self, model_names: list | None = None) -> dict:
744756
else:
745757
self.errors.update(dotted_errors)
746758

747-
return self.errors
748-
749759
@timed
750760
def _attribute_names(self) -> list[str]:
751761
"""
@@ -953,6 +963,7 @@ def _is_public(self, name: str) -> bool:
953963
"calling",
954964
"called",
955965
# Form validation configuration (server-side only, not synced to frontend)
966+
"form_class",
956967
"form_classes",
957968
)
958969
excludes = []

0 commit comments

Comments
 (0)