Module

health.validators.menu

Menu validator - checks navigation menu integrity.

Integrates menu validation from MenuBuilder into health check system.

Classes

MenuValidator
Validates navigation menu structure. Checks: - Menu items exist and have valid URLs - No orphaned …
4

Validates navigation menu structure.

Checks:

  • Menu items exist and have valid URLs
  • No orphaned menu items (parent doesn't exist)
  • No circular references
  • Menu weights are sensible
Inherits from BaseValidator

Methods 1

validate
Validate menu structure.
2 list[CheckResult]
def validate(self, site: Site, build_context: BuildContext | Any | None = None) -> list[CheckResult]

Validate menu structure.

Parameters 2
site Site
build_context BuildContext | Any | None
Returns

list[CheckResult]

Internal Methods 3
_validate_menu
Validate a single menu.
3 list[CheckResult]
def _validate_menu(self, site: Site, menu_name: str, items: list[Any]) -> list[CheckResult]

Validate a single menu.

Parameters 3
site Site
menu_name str
items list[Any]
Returns

list[CheckResult]

_count_menu_items
Recursively count menu items including children.
2 int
def _count_menu_items(self, items: list[Any], count: int = 0) -> int

Recursively count menu items including children.

Parameters 2
items list[Any]
count int
Returns

int

_check_menu_urls
Check if menu item URLs point to existing pages.
2 list[str]
def _check_menu_urls(self, site: Site, items: list[Any]) -> list[str]

Check if menu item URLs point to existing pages.

Parameters 2
site Site
items list[Any]
Returns

list[str]