跳到主要内容

validateEntityMetadata()

function validateEntityMetadata(
metadata,
databaseSync?,
isSyncTypeUnsupported?
): readonly EntityMetadataValidationError[];

Defined in: packages/rxdb/src/entity/metadata-validate.ts:542

校验单个实体的元数据声明,返回按 namespace/entity/field/rule 排序的全部违规。

Parameters​

ParameterTypeDescription
metadataEntityMetadatatransitionMetadata() 产出的实体元数据
databaseSync?| SyncOptions | EntitySyncResolver数据库级 rxdb.config.sync;实体没写 sync 时由它生效。 也可以传实例的解析器 rxdb.entitySync,此时连同实例覆盖一起按生效配置校验。 省略即只看实体自己的声明
isSyncTypeUnsupported?SyncTypeRestrictionLookup仓储级同步策略限制查询,见 SyncTypeRestrictionLookup。 省略即核心不认识任何仓储限制

Returns​

readonly EntityMetadataValidationError[]

排序后的违规列表;无违规时为空数组

Remarks​

纯函数:不抛异常、不修改入参、不访问全局状态。畸形输入(format: null、非数组 enum 等) 一律转成违规条目而不是运行时崩溃。跨实体聚合与抛错由 EntityManager.init() 负责。

Example​

const errors = validateEntityMetadata(getEntityMetadata(User));
if (errors.length > 0) throw new RxDBError(errors.map(e => e.message).join('\n'));