A comma breaks the form autofill?

Are you using our SaaS platform (Baserow.io) or self-hosting Baserow?

Self-hosted

If you are self-hosting, what version of Baserow are you running?

Version 2.2.3

If you are self-hosting, which installation method do you use to run Baserow?

Cloudron App

What are the exact steps to reproduce this issue?

I’m surprised by this bug. If a field contains a value with a comma, the autofill doesn’t work.

I use Baserow as a Cloudron app, but I’ve noticed the same issue on my Baserow account on SaaS platform.

Hey @Jeau, could you maybe share a screenshot or add a few more details (like the field type)? It seems to be working for me:

Am I missing something?

Sorry @olgatrykush, I didn’t give enough information

It doesn’t work with a link to a table field
Here an example, with “Eintein, Albert” content inside the field Name in the table of the form, it’s work, but. with the same content inside the field Contact, first field of the linked table, it doesn’t work

Without comma in linked table field, it’s work

Hey @Jeau, did you enable the setting that allows multiple values to be added in that field?

Hi @olgatrykush

No, but the issue is the same with ou without this parameter set to Single or to Multiple

Hm, for me it’s working:

Expenses is the ‘Link to table’ field:

I’ve just spotted the problem – the comma is used as a separator (and it’s in the documentation; shame on me)

Is there a way to escape the comma so that it is accepted within the content?

It should work in Single mode at least

Hey @Jeau, I’m not sure I understand what the issue is. In single select, pre-fill works this way:

Single select: A single select field can accept the value that is shown in the select dropdown ?prefill_single+select=Business

Hey @olgatrykush
Yes, as I said, I finally read the documentation, and the examples I gave use this mechanism; I think the problem stems from using a comma as a separator.

Based on my experiments, I asked the AI Claude to write a report that was clearer than my explanations.

Prefill via URL: comma in linked row value breaks both single and multiple modes

When using the prefill_ URL parameter on a Link to table field, the comma (,) is used as a separator between multiple linked row values. This causes two distinct issues:


Issue 1 — Multiple mode: no escaping mechanism for commas within values

In multiple mode, the comma separator is documented and expected. However, if a linked row’s display value itself contains a comma (e.g. Einstein, Albert), there is no way to escape it. The parser splits on every comma unconditionally, so ?prefill_MyField=Einstein, Albert is interpreted as two separate values (Einstein and Albert) instead of one, and the prefill silently fails to match any row.

URL-encoding the comma as %2C does not help, as it gets decoded before the split is applied.

There is currently no documented or functional escaping mechanism for this case.


Issue 2 — Single mode: comma splitting should not apply at all

When the Link to table field is configured to allow only a single linked row, there is no semantic need for a comma separator — only one value is ever expected. Despite this, the same comma-splitting logic is applied, which means any linked row whose display value contains a comma will also fail to prefill in single mode.

This is particularly problematic because users have no workaround: they cannot rename rows in a linked table they don’t control, and there is no alternative syntax available.


Expected behavior

  • In single mode, comma splitting should be disabled entirely, since only one value is expected.
  • In multiple mode, an escaping mechanism should be introduced (e.g. %2C or \,) to allow values containing commas to be passed correctly.

Steps to reproduce

  1. Create a table with a Link to table field pointing to a table that contains a row whose primary field value includes a comma (e.g. Smith, John).
  2. Create a form view and generate a public share link.
  3. Append ?prefill_YourField=Smith, John to the form URL.
  4. Open the URL — the field is not prefilled.

Thanks for the explanation @Jeau. I’ll check this with the team :slightly_smiling_face: