ansys.dyna.core.lib.validation_mixin.ValidationMixin#
- class ansys.dyna.core.lib.validation_mixin.ValidationMixin#
Mixin that provides validation capabilities for Deck.
This mixin adds methods for validating keywords in a deck using a registry of validators. Default validators check for required fields and unique IDs.
- Attributes expected from the host class:
_validator_registry: ValidatorRegistry instance
- validate() ansys.dyna.core.lib.validators.ValidationResult#
Validate the collection of keywords.
- Returns:
ValidationResultResult object containing errors, warnings, and info messages.
Examples
>>> result = deck.validate() >>> if result.has_errors(): ... print(result.get_summary()) ... for error in result.errors: ... print(f" - {error}")
- register_validator(validator: ansys.dyna.core.lib.validators.Validator) None#
Register a custom validator.
- Parameters:
- validator
Validator The validator to register.
- validator
Examples
>>> from ansys.dyna.core.lib.validators import RequiredFieldValidator, ValidationSeverity >>> validator = RequiredFieldValidator("MAT", "mid", ValidationSeverity.ERROR) >>> deck.register_validator(validator)
- register_custom_validator(name: str, func: Callable[[ValidationMixin, ansys.dyna.core.lib.validators.ValidationResult], None]) None#
Register a custom validation function.
- Parameters:
- name
str Name of the validator.
- func
Callable Validation function that takes (deck, result) and adds errors to result.
- name
Examples
>>> def check_part_ids(deck, result): ... from ansys.dyna.core.pre.errors import ValidationError ... # Custom validation logic ... if some_condition: ... error = ValidationError("Custom error message") ... result.add_error(error) >>> deck.register_custom_validator("part_id_check", check_part_ids)
- get_validators() List[ansys.dyna.core.lib.validators.Validator]#
Get all registered validators.
- Returns:
List[Validator]List of all registered validators.