Cart & Checkout Validation: Error Message Not Showing for deliveryAddress (Logged-in Users)

Hi everyone,

I’m running into an issue with Checkout Validation Functions and wanted to see if others have experienced something similar or if I’m missing something.

Context:

  • Using Cart & Checkout Validation Function

  • Validation target is address-related fields (e.g. deliveryAddress)

  • Logged-in customers with a saved/default address

  • One-page checkout (Checkout Extensibility)

Issue:
When the validation fails:

  • The checkout is correctly blocked :white_check_mark:

  • The function returns errors as expected :white_check_mark:

  • But no error message is displayed in the UI :cross_mark:

This seems to happen specifically when:

  • The address is auto-filled from a saved customer address

  • The user does not manually interact with the address fields

Observations:

  • For guest users (manual input), error messages seem more reliable

  • The validation function itself is definitely running and returning errors

Questions:

  1. Is this expected behavior with saved/autofilled addresses?

  2. Are there known limitations around validation message rendering for address fields?

  3. Is the target field only a “best effort” for UI placement rather than guaranteed display?

  4. Has anyone found a reliable way to ensure users always see validation errors (besides using a Checkout UI Extension)?

Example (simplified):

{
  "errors": [
    {
      "message": "Invalid address",
      "target": "$.cart.deliveryGroups[0].deliveryAddress.address1"
    }
  ]
}

Would really appreciate any insights, confirmation, or workarounds.
Thanks in advance!

1 Like

Hi @Gordon_Kihn

This is a platform limitation which is on our radar to address - however there’s no ETA for a resolution.

As a temporary workaround you could explore:

  • Using a target that is visible to all customers, such as $.cart.
  • Using cart.buyerIdentity.isAuthenticated to check if a customer is logged in, and depending on whether they are logged in, adjust the location where the error is returned.

Thank you very much for your help.