SAP Knowledge Base Article - Public

3735299 - Performance form odata upsert accepts invalid customelement values without validation and returns success

Symptom

  • When calling the Upsert API for FormPMReviewContentDetail → customSection → customElement, invalid values (for example, text into a numeric field or a value outside a picklist) are saved successfully without validation errors.
  • For a numeric element, sending a non-integer value such as "abc" results in a successful response.
  • For a picklist element, sending a value not in the predefined options results in a successful response.
  • When invalid elementKey or valueKey values that do not exist in the form template are sent, the response is successful but no items in the form are updated.

Environment

SAP SuccessFactors Performance Management

Reproducing the Issue

  1. Call the Upsert API for FormPMReviewContentDetail → customSection → customElement.
  2. Provide invalid values in the payload (for example, send text in a numeric field, or a value not present in a picklist).
  3. Observe that the API returns success and the invalid values are stored.
  4. Optionally, set elementKey and/or valueKey that do not exist in the form template and observe a successful response with no actual form updates.

Cause

Standard system design.

Resolution

When updating custom element values via the OData API FormCustomElement, the API returns success but does not validate whether the value matches the custom element type before updating the form.
 
This is standard system design, not a product defect:
  • This kind of API is designed as a low-level data write interface. It only performs basic validations (form existence, permission, editability) and trusts the caller to provide valid data.
  • Field type validations (number, date, picklist, text format, etc.) only apply in the UI, not in the API layer.
Recommendation: Please implement full data validation on your client side before calling the API, including:
 
  • Data type consistency
  • Valid date format
  • Numeric constraints
  • Picklist value validity

See Also

Keywords

pm form, odata, upsert, formpmreviewcontentdetail, customsection, customelement, validation, picklist, numeric field, elementkey, valuekey, formcustomelement, coe_general_bad_request, pmgm api behavior, type validation, custom, value, validation, invalid, performance , KBA , LOD-SF-PM-API , Webservices, OData APIs , Product Enhancement

Product

SAP SuccessFactors Performance & Goals 2511