leaguemanager.lib.validation¶
Production-ready field validation utilities with comprehensive security checks. (from Litestar-Fullstack)
Module Contents¶
Functions¶
Remove/reject control characters. |
|
Validate password meets production security requirements. |
|
Check if password is in common password list. |
|
Get detailed password strength analysis. |
|
Production-ready email validation with comprehensive checks. |
|
Production-ready password validation with security checks. |
|
Human name validation with proper handling of international names. |
|
Username validation with uniqueness and character restrictions. |
|
URL validation with security checks. |
|
Slug validation for URL-safe identifiers. |
|
International phone number validation. |
Data¶
API¶
- leaguemanager.lib.validation.EMAIL_BASIC_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.EMAIL_DOUBLE_DOT_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.EMAIL_BLOCKED_PATTERNS¶
None
- leaguemanager.lib.validation.PASSWORD_UPPERCASE_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.PASSWORD_LOWERCASE_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.PASSWORD_DIGIT_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.PASSWORD_SPECIAL_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.PASSWORD_COMMON_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.PASSWORD_REPEATED_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.PASSWORD_SIMPLE_REPEATED_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.PASSWORD_SEQUENTIAL_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.PASSWORD_KEYBOARD_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.NAME_WHITESPACE_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.NAME_VALID_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.NAME_REPEATED_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.USERNAME_VALID_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.USERNAME_START_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.USERNAME_REPEATED_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.SLUG_VALID_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.PHONE_BASIC_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.PHONE_DIGITS_PATTERN¶
‘compile(…)’
- leaguemanager.lib.validation.EMAIL_BLOCKED_DOMAINS¶
None
- leaguemanager.lib.validation.COMMON_PASSWORDS¶
None
- leaguemanager.lib.validation.PASSWORD_MIN_LENGTH¶
12
- leaguemanager.lib.validation.PASSWORD_MAX_LENGTH¶
128
- leaguemanager.lib.validation.PASSWORD_STRONG_LENGTH¶
16
- leaguemanager.lib.validation.PASSWORD_VERY_STRONG_LENGTH¶
20
- leaguemanager.lib.validation.PASSWORD_SCORE_STRONG¶
7
- leaguemanager.lib.validation.PASSWORD_SCORE_MEDIUM¶
5
- leaguemanager.lib.validation.PHONE_MIN_DIGITS¶
7
- leaguemanager.lib.validation.PHONE_MAX_DIGITS¶
15
- leaguemanager.lib.validation.EMAIL_MAX_LENGTH¶
254
- leaguemanager.lib.validation.EMAIL_MIN_LENGTH¶
3
- leaguemanager.lib.validation.EMAIL_LOCAL_PART_MAX_LENGTH¶
64
- leaguemanager.lib.validation.NAME_MAX_LENGTH¶
100
- leaguemanager.lib.validation.USERNAME_MIN_LENGTH¶
3
- leaguemanager.lib.validation.USERNAME_MAX_LENGTH¶
30
- leaguemanager.lib.validation.URL_MAX_LENGTH¶
2048
- leaguemanager.lib.validation.SLUG_MAX_LENGTH¶
100
- leaguemanager.lib.validation.COMMON_PASSWORDS_HASHES¶
None
- leaguemanager.lib.validation.RESERVED_USERNAMES¶
None
- leaguemanager.lib.validation.ALLOWED_URL_SCHEMES¶
None
- leaguemanager.lib.validation.BLOCKED_URL_DOMAINS¶
None
- leaguemanager.lib.validation.SUSPICIOUS_URL_PATTERNS¶
[‘javascript:’, ‘data:’, ‘vbscript:’, ‘file:’]
- exception leaguemanager.lib.validation.ValidationError(*args: Any, detail: str = '')¶
Bases:
leaguemanager.lib.exceptions.ApplicationClientErrorCustom validation error for all field validations.
Initialization
Initialize self. See help(type(self)) for accurate signature.
- exception leaguemanager.lib.validation.PasswordValidationError(*args: Any, detail: str = '')¶
Bases:
leaguemanager.lib.validation.ValidationErrorException raised when password validation fails.
Initialization
Initialize self. See help(type(self)) for accurate signature.
- leaguemanager.lib.validation.validate_not_empty(value: str) str¶
- leaguemanager.lib.validation.validate_length(value: str, min_length: int = 0, max_length: int | None = None) str¶
- leaguemanager.lib.validation.validate_no_control_chars(value: str) str¶
Remove/reject control characters.
Args: value: The string to validate
Raises: ValidationError: If control characters are found
Returns: The cleansed string without control characters
- leaguemanager.lib.validation.validate_password_strength(password: str) None¶
Validate password meets production security requirements.
Args: password: The password to validate
Raises: PasswordValidationError: If password doesn’t meet requirements
- leaguemanager.lib.validation._is_common_password(password: str) bool¶
Check if password is in common password list.
Args: password: The password to check
Returns: True if password is common, False otherwise
- leaguemanager.lib.validation.get_password_strength(password: str) dict[str, Any]¶
Get detailed password strength analysis.
Args: password: The password to analyze
Returns: Dictionary with strength analysis
- leaguemanager.lib.validation.validate_email(v: str) str¶
Production-ready email validation with comprehensive checks.
- leaguemanager.lib.validation.Email¶
None
- leaguemanager.lib.validation.validate_password(v: str) str¶
Production-ready password validation with security checks.
- leaguemanager.lib.validation.Password¶
None
- leaguemanager.lib.validation.validate_name(v: str) str¶
Human name validation with proper handling of international names.
- leaguemanager.lib.validation.validate_username(v: str) str¶
Username validation with uniqueness and character restrictions.
- leaguemanager.lib.validation.Name¶
None
- leaguemanager.lib.validation.Username¶
None
- leaguemanager.lib.validation.validate_url(v: str) str¶
URL validation with security checks.
- leaguemanager.lib.validation.validate_slug(v: str) str¶
Slug validation for URL-safe identifiers.
- leaguemanager.lib.validation.Url¶
None
- leaguemanager.lib.validation.Slug¶
None
- leaguemanager.lib.validation.validate_phone(v: str) str¶
International phone number validation.
- leaguemanager.lib.validation.Phone¶
None