# Validation module and idempotent message validation

*MuleSoft Developer Study Guide · Routing Events · Last updated October 28, 2026 · https://www.certifyforce.com/study-guide/mulesoft-developer/routing-events/validation-module-and-idempotent-message-validation*

Pick the right Validation module operation and predict the `VALIDATION:*` error it throws, combine checks with the All and Any scopes, and reject repeated messages with the Idempotent Message Validator and `MULE:DUPLICATE_MESSAGE`.

- Certification: Salesforce MuleSoft Developer
- Exam section: Routing Events
- Study guide: https://www.certifyforce.com/study-guide/mulesoft-developer

**Official exam objective:**

> Apply correct processors/syntax to validate Mule events, and predict outcomes.

## What the exam expects

- Choose the Validation operation that matches a rule (Is email, Is not blank string, Validate size, Is number, Is true) and write its XML with a custom `message`.
- Predict the error a failed validation throws, and which `type` values on an On Error component catch it.
- Predict the outcome of the All and Any scopes when some or all nested validations fail.
- Configure the Idempotent Message Validator's `idExpression` and object store, and predict `MULE:DUPLICATE_MESSAGE`.

Key terms:
- **Validation operation**: passes the event on or throws; never returns `false`.
- **`VALIDATION:VALIDATION`**: the parent of every Validation module error type.
- **All / Any scope**: group validations behind one `VALIDATION:MULTIPLE` error.
- **Idempotent Message Validator**: lets only messages with an unseen ID continue.
- **`idExpression`**: produces the message ID.

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Failed validation | Throws an error that is always a child of `VALIDATION:VALIDATION` | [Validation Module Documentation Reference](https://docs.mulesoft.com/validation-connector/latest/validation-documentation) |
| Is not blank string | Throws `VALIDATION:BLANK_STRING` | [Validation Module Documentation Reference](https://docs.mulesoft.com/validation-connector/latest/validation-documentation) |
| Validate size | Inclusive `min` (default 0) and `max`; String size is its length | [Validation Module Documentation Reference](https://docs.mulesoft.com/validation-connector/latest/validation-documentation), [Validation Module Examples 2.0](https://docs.mulesoft.com/validation-connector/latest/validation-examples) |
| Is number | Out-of-range or unparsable value throws `VALIDATION:INVALID_NUMBER` | [Validation Module Documentation Reference](https://docs.mulesoft.com/validation-connector/latest/validation-documentation) |
| Is true / Is false | Both throw `VALIDATION:INVALID_BOOLEAN`; `expression` defaults to `false` | [Validation Module Documentation Reference](https://docs.mulesoft.com/validation-connector/latest/validation-documentation) |
| All scope | Runs every validation; any failure gives one `VALIDATION:MULTIPLE` | [Validation Module Examples 2.0](https://docs.mulesoft.com/validation-connector/latest/validation-examples) |
| Any scope | `VALIDATION:MULTIPLE` only if all nested validations failed | [Validation Module Documentation Reference](https://docs.mulesoft.com/validation-connector/latest/validation-documentation) |
| Idempotent `idExpression` | Defaults to `#[correlationId]` | [Idempotent Message Validator](https://docs.mulesoft.com/mule-runtime/latest/idempotent-message-validator) |
| Idempotent default store | Not persistent, entry TTL of 5 MINUTES | [Idempotent Message Validator](https://docs.mulesoft.com/mule-runtime/latest/idempotent-message-validator) |
| Duplicate message | Throws `MULE:DUPLICATE_MESSAGE` | [Idempotent Message Validator](https://docs.mulesoft.com/mule-runtime/latest/idempotent-message-validator) |

## Check yourself

- What does Validate size's `min` default to, and which kinds of value can it measure?
- Why does setting the Idempotent Message Validator's Value Expression change nothing?
- Why does an Is true operation with no expression configured fail?
- Where do you find the error type each Validation operation throws?

## Sources

- [Validation Module Documentation Reference](https://docs.mulesoft.com/validation-connector/latest/validation-documentation)
- [Validation Module Examples 2.0](https://docs.mulesoft.com/validation-connector/latest/validation-examples)
- [Validation Module 2.0](https://docs.mulesoft.com/validation-connector/latest/)
- [Idempotent Message Validator](https://docs.mulesoft.com/mule-runtime/latest/idempotent-message-validator)
- [Mule Errors](https://docs.mulesoft.com/mule-runtime/latest/mule-error-concept)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 7 linked practice questions, and unlimited timed mock exams are included with the MuleSoft Developer pack (USD $19): https://www.certifyforce.com/practice-exams
