# bson_validate()

## Synopsis

    bool
    bson_validate (const bson_t *bson, bson_validate_flags_t flags, size_t *offset);

## Parameters

- `bson`: A bson_t.

- `flags`: A bitwise-or of all desired bson_validate_flags_t.

- `offset`: A location for the offset within `bson` where the error occurred.

## Description

Validates a BSON document by walking through the document and inspecting the keys and values for valid content.

You can modify how the validation occurs through the use of the `flags` parameter, see bson_validate_with_error() for details.

## Returns

Returns true if `bson` is valid; otherwise false and `offset` is set to the byte offset where the error was detected.

See also

bson_validate_with_error().
bson_visitor_t can be used for custom validation, Example Custom Validation.