Form validation not working on SUBMIT

I have a form with a selectable read-only grid

The form contains complex validation for the grid where if a row was already selected before it cannot be selected again and submitted.

Optimistic Locking.

Now the validation works like a charm upon any interaction with the form except the SUBMIT button

I have exausted my imagination with trying to make it work:

  1. Putting the validation in the grid
  2. Putting the validation in the form
  3. creating validation groups
  4. Add a confirmation message after submit
  5. etc

I only use up to date interface components and the SUBMIT button obviously has skipValidation: false

here's a look at what I tried for the button

a!buttonWidgetSubmit(
          label: "SUBMIT",
          value: "SUBMIT",
          saveInto: {},
          style: "PRIMARY"
          /*,
          confirmHeader: "bob",
          confirmButtonLabel: "concurency pass?",
          */
          /*skipValidation: false*/
        )

Here's a look at the validation

    validations: {
      a!validationMessage(
        message: if(
          rule!isIntersection(
            array: ri!value,
            value: local!concurency
          ),
          "concurency",
          null
        )/*"concurency"*/,
        /*showWhen: rule!isIntersection(
          array: ri!value,
          value: local!concurency
        ),*/
        validateAfter: "REFRESH"/*"SUBMIT"*/
      )
    }

I'm concidering to open a ticket with APPIAN because I think the fault is on their end

EDIT:

Added full generic form (I chared what I can it's confidential): 

with(
  local!data: rule!getData(),
  local!report: rule!getActiveProcesses(),
  local!concurency: rule!whereContains(local!data,local!report),
  a!formLayout(
    label: "label",
    contents: {
      a!sectionLayout(
        label: "Customers for Review",
        contents: {
          a!gridField(
            label: "Read-only Grid",
            labelPosition: "ABOVE",
            data: local!data,
            columns: {
              a!gridColumn(
                label: "A",
                sortField: "A",
                value: fv!row.A
              )
            },
            pagesize: 20,
            selectable: true,
            selectionStyle: "CHECKBOX",
            selectionValue: {
              ri!value
            },
            selectionSaveInto: ri!value,
            disableRowSelectionWhen: {},
            validations: {}
          )
        }
      )
    },
    buttons: a!buttonLayout(
      primaryButtons: {
        a!buttonWidgetSubmit(
          label: "SUBMIT",
          value: "SUBMIT",
          saveInto: {
            ri!action,
            
          },
          style: "PRIMARY",
          skipValidation: false
        )
      },
      secondaryButtons: {}
    ),
    validations: {
      a!validationMessage(
        message: if(
          rule!isIntersection(
            array: ri!value,
            value: local!concurency
          ),
          "concurency",
          null
        ),
        /*showWhen: rule!isIntersection(
          array: ri!value,
          value: local!concurency
        ),*/
        validateAfter: "REFRESH"
      )
    }
  )
)

  Discussion posts and replies are publicly visible