Инструменты пользователя

Инструменты сайта


products:pussy:api:pyub:types:properties:propertyvalidated

PropertyValidated

Унаследован от: Property

Класс Свойства, который имеет функционал для валидации значения. Данный тип свойств используется в случаях, когда значение Свойства должно быть ограничено заданными параметрами. Например, класс IntProperty имеет параметры, определяющие минимальное и максимальное значение, данный тип свойств обеспечивает нахождение значения в заданных пределах, если программа изменяет эти параметры или само значение, и если оно будет выходить за пределы указанного диапазона, алгоритм принудительно изменит значение Свойства, чтобы оно входило в заданный пределы.

Подробности о концепции свойств читайте в статье

Методы:

__setattr__()

Переопределенный магический метод. Устанавливает значения атрибутов, производит валидацию значения (вызывает метод validate_value()), если режим выполнения валидации включен.

def __setattr__(self, key, value) -> None

Параметры:

  • key(Any)- имя атрибута
  • value(Any)- значение атрибута

Возвращает:

  • None

validate_value()

Производит валидацию значения Свойства, вызывается при создании или изменении любого атрибута экземпляра класса и если режим валидации включен, если атрибут влияет на значение, то производится валидация.

def validate_value(self, changed_attr:str="") -> None

Параметры:

  • changed_attr(str)- имя устанавливаемого атрибута

Возвращает:

  • None

_set_validation()

Устанавливает режим валидации.

def _set_validation(self, state:bool=True)

Параметры:

  • state(bool)- режим валидации, True - включает валидацию, False - отключает

Возвращает:

  • None

set_parameters_from_dict()

Устанавливает значения параметров Свойства из словаря, в конце процесса производит валидацию значения (вызов метода validate_value()).

def set_parameters_from_dict(self, params: dict[str, Any]) -> None:

Параметры:

  • params(dict[str, Any])- словарь со значениями параметров

Возвращает:

  • None
products/pussy/api/pyub/types/properties/propertyvalidated.txt · Последнее изменение: 127.0.0.1