nexusLIMS.tui.apps.config.validators#

Field validators for the NexusLIMS configuration TUI.

Provides validation functions specific to configuration editing, extending the common validators with config-domain rules.

Module Contents#

Functions#

validate_nemo_address

Validate a NEMO API address URL (must be a valid URL with trailing slash).

validate_optional_url

Validate an optional HTTP(S) URL (empty value is accepted).

validate_optional_iana_timezone

Validate an optional IANA timezone string (empty value is accepted).

validate_float_positive

Validate a positive float (> 0).

validate_float_nonneg

Validate a non-negative float (>= 0).

validate_optional_int

Validate an optional integer (empty value is accepted).

validate_smtp_port

Validate an SMTP port number.

API#

nexusLIMS.tui.apps.config.validators.validate_nemo_address(value: str | None) tuple[bool, str][source]#

Validate a NEMO API address URL (must be a valid URL with trailing slash).

Parameters:

value (str | None) – NEMO address to validate

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]

nexusLIMS.tui.apps.config.validators.validate_optional_url(value: str | None, field_name: str = 'URL') tuple[bool, str][source]#

Validate an optional HTTP(S) URL (empty value is accepted).

Parameters:
  • value (str | None) – URL to validate

  • field_name (str) – Human-readable field name for error messages

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]

nexusLIMS.tui.apps.config.validators.validate_optional_iana_timezone(value: str | None) tuple[bool, str][source]#

Validate an optional IANA timezone string (empty value is accepted).

Parameters:

value (str | None) – Timezone string to validate (e.g., “America/New_York”)

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]

nexusLIMS.tui.apps.config.validators.validate_float_positive(value: str | None, field_name: str = 'Value') tuple[bool, str][source]#

Validate a positive float (> 0).

Parameters:
  • value (str | None) – String to validate as a positive float

  • field_name (str) – Human-readable field name for error messages

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]

nexusLIMS.tui.apps.config.validators.validate_float_nonneg(value: str | None, field_name: str = 'Value') tuple[bool, str][source]#

Validate a non-negative float (>= 0).

Parameters:
  • value (str | None) – String to validate as a non-negative float

  • field_name (str) – Human-readable field name for error messages

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]

nexusLIMS.tui.apps.config.validators.validate_optional_int(value: str | None, field_name: str = 'Value') tuple[bool, str][source]#

Validate an optional integer (empty value is accepted).

Parameters:
  • value (str | None) – String to validate as an integer

  • field_name (str) – Human-readable field name for error messages

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]

nexusLIMS.tui.apps.config.validators.validate_smtp_port(value: str | None) tuple[bool, str][source]#

Validate an SMTP port number.

Parameters:

value (str | None) – Port number string to validate

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]