nexusLIMS.tui.common.validators#

Common validation functions for NexusLIMS TUI applications.

These validators return (is_valid, error_message) tuples for use in form validation UI.

Module Contents#

Functions#

validate_required

Validate that a required field has a value.

validate_max_length

Validate that a field does not exceed maximum length.

validate_timezone

Validate IANA timezone string.

validate_url

Validate HTTP(S) URL.

validate_path

Validate file system path.

validate_ip_address

Validate IPv4 address format.

API#

nexusLIMS.tui.common.validators.validate_required(value: str | None, field_name: str = 'Field') tuple[bool, str][source]#

Validate that a required field has a value.

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

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

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]

nexusLIMS.tui.common.validators.validate_max_length(value: str | None, max_len: int, field_name: str = 'Field') tuple[bool, str][source]#

Validate that a field does not exceed maximum length.

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

  • max_len (int) – Maximum allowed length

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

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]

nexusLIMS.tui.common.validators.validate_timezone(tz_str: str | None) tuple[bool, str][source]#

Validate IANA timezone string.

Parameters:

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

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]

nexusLIMS.tui.common.validators.validate_url(url: str | None, field_name: str = 'URL') tuple[bool, str][source]#

Validate HTTP(S) URL.

Parameters:
  • url (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.common.validators.validate_path(path: str | None, must_exist: bool = False, field_name: str = 'Path') tuple[bool, str][source]#

Validate file system path.

Parameters:
  • path (str | None) – Path to validate

  • must_exist (bool) – If True, path must already exist on disk

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

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]

nexusLIMS.tui.common.validators.validate_ip_address(ip: str | None) tuple[bool, str][source]#

Validate IPv4 address format.

Parameters:

ip (str | None) – IP address to validate

Returns:

(is_valid, error_message)

Return type:

tuple[bool, str]