protected override void UpdateItemFields(Item item)
 {
     base.UpdateItemFields(item);
     item.Fields["Is Tracking Enabled"]?.SetValue(IsTrackingEnabled ? "1" : string.Empty, true);
     item.Fields["Required"]?.SetValue(Required ? "1" : string.Empty, true);
     item.Fields["Allow Save"]?.SetValue(AllowSave ? "1" : string.Empty, true);
     item.Fields["Validations"]?.SetValue(StringUtil.ArrayToString(ValidationDataModels.Select(v => v.ItemId).ToArray(), '|'), true);
 }
        protected virtual void InitializeValidations(Item item)
        {
            var field           = item.Fields["Validations"];
            var validationPaths = field?.Value.Split('|');

            if (validationPaths == null)
            {
                return;
            }
            foreach (var path in validationPaths)
            {
                var validationItem = item.Database.GetItem(path, item.Language);
                if (validationItem != null)
                {
                    ValidationDataModels.Add(new ValidationDataModel(validationItem));
                }
            }
        }