diff --git a/src/central/gui/routes.py b/src/central/gui/routes.py index 395ac4d..70e88e9 100644 --- a/src/central/gui/routes.py +++ b/src/central/gui/routes.py @@ -763,12 +763,16 @@ async def setup_adapters_submit(request: Request) -> Response: # Parse enabled enabled = f"{adapter_name}_enabled" in form - # Parse cadence + # Parse cadence using AdapterConfig field constraint cadence_str = form.get(f"{adapter_name}_cadence_s", "") try: cadence_s = int(cadence_str) - if cadence_s < 60 or cadence_s > 3600: - errors[f"{adapter_name}_cadence_s"] = "Cadence must be between 60 and 3600 seconds" + from central.config_models import AdapterConfig + min_cadence = AdapterConfig.model_fields["cadence_s"].metadata[0].ge + if cadence_s < min_cadence: + errors[f"{adapter_name}_cadence_s"] = ( + f"Input should be greater than or equal to {min_cadence}" + ) except ValueError: errors[f"{adapter_name}_cadence_s"] = "Cadence must be a valid integer" cadence_s = current.get("cadence_s", 300) diff --git a/src/central/gui/templates/setup_adapters.html b/src/central/gui/templates/setup_adapters.html index de3f8c2..f80c6e2 100644 --- a/src/central/gui/templates/setup_adapters.html +++ b/src/central/gui/templates/setup_adapters.html @@ -45,7 +45,7 @@ + > {% if errors and errors.get(adapter.name + '_cadence_s') %} {{ errors[adapter.name + '_cadence_s'] }} {% endif %}