Workday errors in plain English.

Submit an Error
errors / extend / extend-model-build-failed-security-domain-field-name-validation-errors

Extend Business Object Build Fails with Multiple Model Validation Errors on Deploy

✓ Verified Workday Extend 2 lookups
The error Validation Error: invalid security domain [mySecurityDomain] in business object [Widgets] Validation Error: useForDisplay can only be defined on 1 field in a business object Validation Error: secureByTarget can only be defined on 1 field in a business object Validation Error: invalid name (only alphanumeric camelCase characters supported): WidgetName Validation Error: invalid name (only alphanumeric camelCase characters supported): Worker Error: 5 Total Validation Error(s) model failed compilation Build failed with errors

What it means

A new business object model component fails to build because several unrelated rules in the model JSON are violated at once, and Workday reports all of them together rather than stopping at the first one. The top-level error you see in the deploy console (a generic Build failed exception) does not show these specifics; they only appear in the build logs.

Troubleshooting

  1. Don't stop at the top-level java.lang.Exception in the deploy console. Open the Workday Extend Logs tab (or the build log panel referenced in the exception) to see the actual list of Validation Error lines, since the generic exception is just a wrapper around them.
  2. Check that any security domain referenced in defaultSecurityDomains or a field's security domain actually exists in the tenant by that exact name. A placeholder or renamed domain name will fail validation even though the JSON is syntactically valid.
  3. Check that useForDisplay and secureByTarget are each set on at most one field in the business object. Setting either flag on more than one field is a validation error, not a warning.
  4. Check every field name (and business object name) for spaces or non-alphanumeric characters. Model component names must be camelCase alphanumeric; a label can contain spaces but the name cannot.
⚡ Quick fix

Fix every line the build log reports as a Validation Error in one pass (security domain name, duplicate useForDisplay/secureByTarget flags, non-camelCase field names) before redeploying, since the build only reports validation errors, it doesn't stop after the first one.

✓ Permanent fix

Before deploying a new or heavily edited business object, verify referenced security domains exist in the target tenant, and audit field/object names for camelCase compliance and single-use flags as part of a pre-deploy checklist, rather than iterating one validation error at a time against the deploy console.

Was this helpful?

Related errors