# Uploader Client-Side Validation

Osmos has designed several validation functions specific to Osmos Uploader to ensure uploaded data is correctly formatted, mapped, and ready to use.

Osmos supports four varieties of data validators which are added to schema fields in the code snippet directly:

* [Data Validators](/developer-docs/uploader-client-side-validation/validation-functions.md) - Custom validation functions that perform validations for a single field
  * [Checking for duplicate values in a field ](https://app.gitbook.com/o/-MYHIPthNCYADz6TdnGw/s/-MYrsDW6vGBTygB1qqSE/~/changes/918/developer-docs/uploader-client-side-validation/validation-functions-1) - Using Data Validator to check for duplicate values in a field
* [Dropdown Controlled Fields](/developer-docs/uploader-client-side-validation/creating-dropdown-controlled-fields.md) - Allows the end user to access a limited list of valid options for a specific field
* [Dynamic Dropdown Options](/developer-docs/uploader-client-side-validation/dynamic-dropdown-options.md) - In addition to the valid options, it is possible to dynamically pick the options to be displayed in a given dropdown for a field based on the input values of another field
* [Interaction Dropdown with Validation Functions](/developer-docs/uploader-client-side-validation/dropdown-interaction-with-validation-functions.md) - Combines the functionality of both **data validators** and **dropdown controlled fields**. Enforcing the valid options of dropdown controlled fields with error messaging


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.osmos.io/developer-docs/uploader-client-side-validation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
