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

# Format validators

> Check that a value is a well-formed identifier.

Format validators check that a value is a well-formed identifier of a given kind — an IBAN, an email address, a license plate. They need no configuration: add one to a field and it validates the format.

| Validator | Checks that the value is | Can be limited to |
| - | - | - |
| **IBAN** | A valid International Bank Account Number | Countries |
| **BIC/SWIFT** | A valid Bank Identifier Code | — |
| **VAT ID** | A valid VAT identification number (68 countries) | Countries |
| **Tax ID** | A valid tax identification number (36 locales) | Locales |
| **Email** | A valid email address | — |
| **URL** | A valid web address | — |
| **Phone Number** | A valid phone number | Locales |
| **Passport Number** | A valid passport number (60 countries) | Countries |
| **License Plate** | A valid vehicle license plate (12 locales) | Locales |
| **Freight Container ID** | A valid ISO 6346 freight container ID | — |

## Limiting to countries or locales

Several of these accept values from many countries, in formats that differ from one country to the next. Left alone, they accept a value that is valid in **any** supported country — so a Norwegian organization number may pass a VAT ID check because it is a valid format somewhere else.

Use the **Countries** or **Locales** setting on those validators to list the ones you actually receive documents from. The check then only accepts those formats, which catches far more genuine mistakes.

<Note>
  These validators check the *format*, not whether the identifier exists. A made-up IBAN with a correct check digit passes. For checks against a real register, validate the value in your own system after export, or fetch the valid values with [Match & Map](/core-concepts/ai-model/match-and-map).
</Note>

## How they behave

| Situation | Result |
| - | - |
| The value is well formed | Passes |
| The value is not well formed | Flagged, with the validator's message or your own |
| The field is empty | Passes — use [Cannot be empty](/core-concepts/ai-model/validators) to require a value |

Spaces are ignored before checking, so `NO93 8601 1117 947` is treated the same as `NO9386011117947`. License plates ignore hyphens as well.

Like every validator, each of these can be set to show a warning or an error, and can carry your own message — see [Validators](/core-concepts/ai-model/validators#settings).
