validateEntityMetadata()
function validateEntityMetadata(
metadata,
databaseSync?,
isSyncTypeUnsupported?
): readonly EntityMetadataValidationError[];
Defined in: packages/rxdb/src/entity/metadata-validate.ts:542
校验单个实体的元数据声明,返回按 namespace/entity/field/rule 排序的全部违规。
Parameters
| Parameter | Type | Description |
|---|---|---|
metadata | EntityMetadata | transitionMetadata() 产出的实体元数据 |
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'));