---
title: How to create a case-insensitive barcode matching validation in my form?
description: This article outlines how to implement a validation rule in OFS-Flow that allows for case-insensitive matching of barcode values. This is particularly useful when barcode data might be entered or scanned with varying capitalisation.
---

[Skip to content](https://support.ofsystems.com/how-to-create-a-case-insensitive-barcode-matching-validation-in-my-form#main-content)

![OFS\_Circle.png\]](https://support.ofsystems.com/hs-fs/hubfs/OFS_Circle.png?height=45&name=OFS_Circle.png)

- [OFS Customer Portal](https://support.ofsystems.com/)
- [Main Website](https://ofsystems.com/)
- [Contact Us](https://www.ofsystems.com/contact-us?)
- [Service Portal](https://ofsystems.atlassian.net/servicedesk/customer/portal/1)

Open main navigation

Close main navigation

- [OFS Customer Portal](https://support.ofsystems.com/)
- [Main Website](https://ofsystems.com/)
- [Contact Us](https://www.ofsystems.com/contact-us?)
- [Service Portal](https://ofsystems.atlassian.net/servicedesk/customer/portal/1)

 Welcome to the OFS Customer Portal

- There are no suggestions because the search field is empty.

1. [OFS Customer Portal](https://support.ofsystems.com/?hsLang=en)
2. [How To Questions](https://support.ofsystems.com/how-to-questions?hsLang=en)
3. [Flow - Validations](https://support.ofsystems.com/how-to-questions?hsLang=en#flow-validations)

# How to create a case-insensitive barcode matching validation in my form?

## This article outlines how to implement a validation rule in OFS-Flow that allows for case-insensitive matching of barcode values. This is particularly useful when barcode data might be entered or scanned with varying capitalisation.

#### **What you'll build**

You have a field called "barcode" in your form, and you want to validate it against a barcode stored in the job metadata (e.g., `jobmeta["barcode"]`). The validation should pass even if the capitalisation of the entered barcode differs from the stored barcode.

For example, if `jobmeta["barcode"]` is "a123B", the following entered values should be considered valid:

- a123B
- A123B
- a123b
- A123b

#### **Step 1 — Open the field's validation rules**

In the **Barcode** field, navigate to the **Field Validation Rules** tab.

#### **Step 2 — Add the case-insensitive matching rule**

Under "Mark form as Valid without message, when":

```
 test(jobmeta["barcode"], data["barcode"], "gi") && jobmeta["barcode"].length==data["barcode"].length
```

![](https://support.ofsystems.com/hs-fs/hubfs/image-png-Jun-20-2025-12-40-25-9098-AM.png?width=670&height=268&name=image-png-Jun-20-2025-12-40-25-9098-AM.png)

 

**How this works:**

- `test(jobmeta["barcode"], data["barcode"], "gi")` matches the entered value against the expected barcode from job metadata.
- The `gi` flags mean `g` (global search) — finds all matches, though not strictly needed for a direct match.
- The `i` means case-insensitive — the key flag for ignoring capitalisation differences.
- `jobmeta["barcode"].length==data["barcode"].length` ensures the entered value is exactly the same length as the expected barcode, preventing a shorter string from accidentally matching as a case-insensitive subset.

#### **Step 3 — Add the catch-all invalid rule**

Add a new validation rule with the `+` icon, click the "Valid" button to change it to "Invalid", and select a colour.

![](https://support.ofsystems.com/hs-fs/hubfs/image-png-Jun-20-2025-12-42-05-1590-AM.png?width=670&height=216&name=image-png-Jun-20-2025-12-42-05-1590-AM.png)

Under "Otherwise, mark form as Invalid without message, when":

```
1==1
```

![](https://support.ofsystems.com/hs-fs/hubfs/image-png-Sep-23-2024-07-02-56-1594-AM.png?width=593&height=181&name=image-png-Sep-23-2024-07-02-56-1594-AM.png)

This always evaluates as true, meaning any unmatched input is invalid by default.

- [Getting Started](https://support.ofsystems.com/getting-started?hsLang=en#main-content)

    - [Console: The Basics](https://support.ofsystems.com/getting-started?hsLang=en#console-the-basics)
    - [Analytics: The Basics](https://support.ofsystems.com/getting-started?hsLang=en#analytics-the-basics)
    - [Fusion Manager: The Basics](https://support.ofsystems.com/getting-started?hsLang=en#fusion-manager-the-basics)
    - [OFS-Flow Training : The Basics](https://support.ofsystems.com/getting-started?hsLang=en#ofs-flow-training-the-basics)
    - [OFS-Go](https://support.ofsystems.com/getting-started?hsLang=en#ofs-go)
    - [MayvnAI](https://support.ofsystems.com/getting-started?hsLang=en#mayvnai)
- [Help & Support](https://support.ofsystems.com/help-support?hsLang=en#main-content)

    - [Troubleshooting](https://support.ofsystems.com/help-support?hsLang=en#troubleshooting)
    - [OFS in a Box](https://support.ofsystems.com/help-support?hsLang=en#ofs-in-a-box)
    - [Routers](https://support.ofsystems.com/help-support?hsLang=en#routers)
    - [PLCs](https://support.ofsystems.com/help-support?hsLang=en#plcs)
- [Success with MayvnAI](https://support.ofsystems.com/success-with-mayvnai?hsLang=en)
- [Training Videos](https://support.ofsystems.com/training-videos?hsLang=en#main-content)

    - [Operator Console](https://support.ofsystems.com/training-videos?hsLang=en#operator-console)
    - [OFS Analytics](https://support.ofsystems.com/training-videos?hsLang=en#ofs-analytics)
    - [Fusion-Manager](https://support.ofsystems.com/training-videos?hsLang=en#fusion-manager)
    - [OFS-Flow](https://support.ofsystems.com/training-videos?hsLang=en#ofs-flow)
    - [OFS-Go](https://support.ofsystems.com/training-videos?hsLang=en#ofs-go)
- [How To Questions](https://support.ofsystems.com/how-to-questions?hsLang=en#main-content)

    - [Administration](https://support.ofsystems.com/how-to-questions?hsLang=en#administration)
    - [Operator Console](https://support.ofsystems.com/how-to-questions?hsLang=en#operator-console)
    - [Analytics](https://support.ofsystems.com/how-to-questions?hsLang=en#analytics)
    - [Fusion Manager](https://support.ofsystems.com/how-to-questions?hsLang=en#fusion-manager)
    - [Fusion Manager - Alerts & Services](https://support.ofsystems.com/how-to-questions?hsLang=en#fusion-manager-alerts-services)
    - [Flow](https://support.ofsystems.com/how-to-questions?hsLang=en#flow)
    - [Flow - Validations](https://support.ofsystems.com/how-to-questions?hsLang=en#flow-validations)
    - [Flow - Conditional Expression & Triggers](https://support.ofsystems.com/how-to-questions?hsLang=en#flow-conditional-expression-triggers)
    - [APIs](https://support.ofsystems.com/how-to-questions?hsLang=en#apis)
- [FAQs](https://support.ofsystems.com/faqs?hsLang=en#main-content)

    - [Operator Console](https://support.ofsystems.com/faqs?hsLang=en#operator-console)
    - [Fusion Manager](https://support.ofsystems.com/faqs?hsLang=en#fusion-manager)
    - [Analytics](https://support.ofsystems.com/faqs?hsLang=en#analytics)
    - [OFS-Flow](https://support.ofsystems.com/faqs?hsLang=en#ofs-flow)
- [Case Studies](https://support.ofsystems.com/case-studies?hsLang=en#main-content)

    - [Mavyn AI](https://support.ofsystems.com/case-studies?hsLang=en#mavyn-ai)
- [OFS Guides](https://support.ofsystems.com/ofs-guides?hsLang=en)
- [Webinars](https://support.ofsystems.com/webinars?hsLang=en)

[![](https://support.ofsystems.com/hs-fs/hubfs/Logo%20Medium_no%20words.png?width=128&height=68&name=Logo%20Medium_no%20words.png)](http://ofsystems.com)

Operations Feedback Pty Ltd

7/627 Chapel St, South Yarra, VIC 3123  
+61 3 8684 9859

<https://www.ofsystems.com/> <https://www.linkedin.com/company/operations-feedback-systems/> [mailto:support@ofsystems.com](mailto:support@ofsystems.com)

Copyright © 2025, Operations Feedback Systems Pty Ltd.