config.validators¶
配置验证器
Classes¶
组件验证器工厂 |
|
默认的验证器工厂 |
|
字段定义,包含类型注解和默认值 |
|
验证器选项 |
|
验证器类型 |
Functions¶
|
验证器选项 |
Module Contents¶
- class ComponentValidatorFactory(validator: collections.abc.Mapping[str | None, collections.abc.Callable[[config.utils.Ref[ICD]], ICD]], validator_options: ValidatorOptions)¶
组件验证器工厂
在 0.2.0 版本加入.
- 参数:
validator (Mapping[str | None, Callable[[Ref[ICD]], ICD]]) -- 组件验证器
validator_options (ValidatorOptions) -- 验证器选项
额外验证器选项¶
键名
描述
默认值
类型
allow_initialize
是否允许初始化不存在的组件成员(注意! 现在的实现方式会强制初始化成员为
MappingConfigData)True
bool
meta_validator
组件元数据验证器
尝试从传入的组件元数据获得,若不存在(值为None)则放弃验证
Callable[[ComponentMeta, ValidatorOptions], ComponentMeta]
在 0.3.0 版本发生变更: 更改参数
validator类型为Mapping[str | None, Callable[[Ref[ICD]], ICD]]并移除因此冗余的移除额外验证器选项validator_factory- __call__(config_ref: config.utils.Ref[D | config.basic.object.NoneConfigData]) D¶
验证配置数据
- 参数:
config_ref (Ref[D | NoneConfigData]) -- 配置数据引用
- 返回:
验证后的配置数据
- 返回类型:
D
在 0.3.0 版本发生变更: 拆分验证成员元数据到方法
_validate_member_metadata()
- validator_options¶
- validators¶
- class DefaultValidatorFactory(validator: collections.abc.Iterable[str] | collections.abc.Mapping[str, Any], validator_options: ValidatorOptions)¶
默认的验证器工厂
- 参数:
validator_options (ValidatorOptions) -- 验证器选项
额外验证器选项¶
键名
描述
默认值
类型
model_config_key
内部编译
pydantic的BaseModel时,模型配置是以嵌套字典的形式存储的,因此请确保此参数不与任何其中子模型名冲突".__model_config__"
Any
在 0.1.2 版本发生变更: 支持验证器混搭路径字符串和嵌套字典
在 0.1.4 版本发生变更: 支持验证器非字符串键 (含有非字符串键的子验证器不会被递归处理)
- __call__(config_ref: config.utils.Ref[D | config.basic.object.NoneConfigData]) D¶
验证配置数据
- 参数:
config_ref (Ref[D | NoneConfigData]) -- 配置数据引用
- 返回:
验证后的配置数据
- 返回类型:
D
- _fmt_mapping_key(validator: collections.abc.Mapping[str, Any]) tuple[collections.abc.Mapping[str, Any], set[str | config.abc.ABCPath[Any]]]¶
格式化验证器键
- 参数:
validator (Mapping[str, Any]) -- Mapping验证器
- 返回:
格式化后的映射键和被覆盖的Mapping父路径
- 返回类型:
在 0.3.0 版本发生变更: 拆分覆盖检查到函数
_check_overwriting_exists_path()
- _mapping2model(mapping: collections.abc.Mapping[str, Any], model_config: dict[str, Any]) type[pydantic.BaseModel]¶
将Mapping转换为Model
在 0.3.0 版本发生变更: 拆分字段定义转换到函数
_convert2definition()
- model: type[pydantic.BaseModel]¶
- model_config_key¶
- typehint_types¶
- validator¶
- validator_options¶
- class FieldDefinition(annotation: T, default: Any, *, allow_recursive: bool = True)¶
- class FieldDefinition(annotation: T, *, default_factory: collections.abc.Callable[[], Any], allow_recursive: bool = True)
字段定义,包含类型注解和默认值
在 0.1.4 版本发生变更: 新增
allow_recursive字段在 0.3.0 版本发生变更: 新增对
TypeAliasType支持- 参数:
在 0.2.0 版本发生变更: 重命名参数
type_为value重命名参数
annotation为default添加参数
default_factory- allow_recursive = True¶
- annotation¶
- value¶
- class ValidatorOptions¶
验证器选项
在 0.3.0 版本发生变更: 重命名
ValidatorFactoryConfig为ValidatorOptions
- class ValidatorTypes¶
Bases:
enum.Enum验证器类型
- COMPONENT = 'component'¶
在 0.2.0 版本加入.
- CUSTOM = 'custom'¶
在 0.2.0 版本发生变更: 重命名
IGNORE为NO_VALIDATION在 0.3.0 版本发生变更: 重命名
NO_VALIDATION为CUSTOM
- DEFAULT = None¶
- PYDANTIC = 'pydantic'¶
- pydantic_validator(validator: type[pydantic.BaseModel], cfg: ValidatorOptions) collections.abc.Callable[[config.utils.Ref[pydantic_validator.D | config.basic.object.NoneConfigData]], pydantic_validator.D]¶
验证器选项
skip_missing无效- 参数:
cfg (ValidatorOptions) -- 验证器选项
- 返回:
验证器
- 返回类型:
Callable[[Ref[D | NoneConfigData]], D]