> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alumio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Array or object: Contains wildcard match

> Checks if an array or object contains a matching value.

export const FormField = ({property, label, required = false, diType, uiPatterns, children}) => {
  const patterns = Array.isArray(uiPatterns) ? uiPatterns : uiPatterns ? [uiPatterns] : [];
  return <div style={{
    margin: '1.5rem 0'
  }}>
      <div style={{
    display: 'flex',
    alignItems: 'baseline',
    flexWrap: 'wrap',
    gap: '0.5rem',
    marginBottom: '0.25rem'
  }}>
        <strong>{label}</strong>
        <span style={{
    fontSize: '0.7rem',
    fontWeight: 600,
    textTransform: 'uppercase',
    letterSpacing: '0.04em',
    color: required ? '#6241f5' : '#6b7280'
  }}>
          {required ? 'Required' : 'Optional'}
        </span>
      </div>

      <div>{children}</div>

      {diType || patterns.length > 0 ? <p style={{
    fontSize: '0.85rem',
    color: '#6b7280',
    marginBottom: 0
  }}>
          {diType ? <>
              See the <a href={`/references/${diType}`}>{diType}</a> reference.{' '}
            </> : null}
          {patterns.length > 0 ? <>
              Accepts a <a href={`/documentation/placeholders-and-patterns/patterns#${patterns[0]}`}>pattern</a>.
            </> : null}
        </p> : null}
    </div>;
};

Checks the incoming value against a list of wildcard patterns and passes when it matches at least one of them. Unlike a plain "Contains" check, you do not need to know the exact value: a pattern such as `NL-*` matches anything that starts with `NL-`. Use this to branch on values that follow a naming convention, for example to act on any order reference beginning with `WEB-`, or to catch product codes ending in `-EU`.

Patterns support wildcards:

* `*` matches any run of characters, including none.
* `?` matches exactly one character.
* `[rz]` matches a single character from the set, so `Ba[rz]` matches both `Bar` and `Baz`.

Matching is case sensitive and works on a single text value.

This documentation describes: [Schema](/schemas/condition/list-contains-match)

## Fields

<FormField property="value" label="Patterns" required>
  One or more wildcard patterns to test the incoming value against. Add a row for each pattern. The condition passes as soon as the value matches any pattern in the list, and fails only when it matches none of them. At least one pattern is required.
</FormField>

## Sample data

The condition was pointed at each order's `region` value and set to match references for the Netherlands or Germany.

| Field    | Value              |
| -------- | ------------------ |
| Patterns | `["NL-*", "DE-*"]` |

| Value        | Matches? |
| ------------ | -------- |
| `NL-utrecht` | Yes      |
| `FR-paris`   | No       |

```json Configuration theme={null}
{
  "prototype": "list-contains-match",
  "parameters": {
    "value": ["NL-*", "DE-*"]
  }
}
```
