Make it so preUpdate hooks can't violate my data model constraints

This commit is contained in:
Oliver 2026-04-25 19:39:25 -06:00
parent 05dcb9afbd
commit d2599d0db3

View file

@ -72,6 +72,9 @@ export class AttributeItemData extends foundry.abstract.TypeDataModel {
};
async _preUpdate(data, options, user) {
const allowed = await super._preUpdate(data, options, user);
if (allowed === false) { return false };
// Prevent invalid IDs
if (hasProperty(data, `system.key`) && !isValidID(data.system.key)) {
ui.notifications.error(_loc(
@ -91,8 +94,6 @@ export class AttributeItemData extends foundry.abstract.TypeDataModel {
setProperty(data, `system.value`, clamp(min, value, max));
};
return super._preUpdate(data, options, user);
};
// #endregion Lifecycle