User-defined attributes validation
  1. BackendType is not null
  2. DisplayType is not null
  3. Encryption is not null
  4. if DisplayType is LOV then
    1. MaxSize must be less than
    2. TODO other checks
  5. BackendName shall not include spaces or tabs
  6. BackendName shall consist of ASCII characters only
  7. if maxSize is not null or 0 then either
    1. BackendType is BOOLEAN
    2. DisplayType is CHECKBOX
    3. BackendType is DATE
    4. DisplayType is DATE
    5. Type is DATE
    6. Type is BOOLEAN
  8. no attribute with same name already exists
  9. DisplayType is not LOCALE
  10. DisplayType is not TIME_ZONE
  11. if DisplayType is SECRET then
    1. Encryption is ENCRYPT
    2. DefaultValue is either null or ""
  12. if Encryption is ENCRYPT or DisplayType is SECRET then UserSearchable must be false
  13. SystemControlled and BulkUpdatable must not be both true
  14. ReadOnly and BulkUpdatable must not be both true
  15. if DisplayType is LOV
    1. LookupQuery and DefaultValue must not be both not null
    2. if DefaultValue is not set and PossibleValues is set then PossibleValues must contain DefaultValue
  16. if DefaultValue is not null, then
    1. if DisplayType is NUMBER then DefaultValue must be parsable as double
    2. if DisplayType is CHECKBOX then DefaultValue must be either 0 or 1
    3. if DisplayType is DATE_ONLY then DefaultValue is set to null
  17. BackendType, Type and DisplayType shall be any of the followingcombinations:
    1. STRING STRING any
    2. STRING NUMBER NUMBER
    3. STRING DATE DATE_ONLY
    4. STRING BOOLEAN CHECKBOX
    5. NUMBER NUMBER NUMBER
    6. NUMBER NUMBER CHECKBOX
    7. DATE DATE DATE_ONLY
    8. BOOLEAN BOOLEAN CHECKBOX
    9. FLOAT FLOAT DOUBLE
  18. There shall not exist a backend column with BackendName
  19. Category name must correspond to an existing category
  20. BackendRequired shall be false
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License