ALToolbox.ThreePartsDate
- ALToolbox.ThreePartsDate
CustomDataType
DAValidationError
DADateTime
word
as_datetime
today
date_difference
log
Optional
datetime
re
__all__
js_text
check_empty_parts
def check_empty_parts(item: str,
default_msg="{} is not a valid date") -> Optional[str]
Validate a date string in MM/DD/YYYY format and return specific error messages for missing parts.
Analyzes a date string separated by forward slashes to determine which parts (month, day, year) are missing and returns a helpful error message indicating what needs to be entered. Currently only handles US date format.
Arguments
itemstr - The date string to validate, expected in MM/DD/YYYY format.default_msgstr, optional - Default error message template for invalid dates. Defaults to "{} is not a valid date".
Returns
Error message if validation fails, None if date is valid. Returns None when the date is complete and valid, otherwise returns a localized error message indicating which parts need to be entered.
Example
>>> check_empty_parts("12//2023")
"Enter a day"
>>> check_empty_parts("//")
"Enter a month, a day, and a year"
>>> check_empty_parts("12/25/2023")
None
ThreePartsDate Objects
class ThreePartsDate(CustomDataType)
name
input_type
javascript
jq_message
is_object
mako_parameters
validate
@classmethod
def validate(cls, item: str) -> bool
Validate a date string in MM/DD/YYYY format.
Arguments
itemstr - The date string to validate.
Returns
bool- True if valid or empty, raises DAValidationError if invalid.
Raises
DAValidationError- If the date string is invalid or cannot be parsed.
transform
@classmethod
def transform(cls, item) -> Optional[DADateTime]
Transform a date string into a datetime object.
Arguments
item- The date string to transform.
Returns
datetime or None: The parsed datetime object, or None if empty.
default_for
@classmethod
def default_for(cls, item) -> Optional[str]
Convert a datetime object to MM/dd/yyyy format string.
Arguments
item- The datetime object to format.
Returns
str or None: The formatted date string, or None if empty.
BirthDate Objects
class BirthDate(ThreePartsDate)
name
input_type
javascript
jq_message
is_object
mako_parameters
validate
@classmethod
def validate(cls, item: str) -> bool
Validate a birth date string ensuring it's a valid past date.
Validates that the input is a properly formatted date string in MM/DD/YYYY format that represents a date on or before today and after the year 1000. Empty or None values are considered valid.
Arguments
itemstr - The birth date string to validate in MM/DD/YYYY format.
Returns
True if the date is valid, otherwise raises DAValidationError.
Raises
DAValidationError- If the date is invalid, improperly formatted, or in the future.