# About Validated.Blazor

`Validated.Blazor` is the official UI component library for the [`Validated.Core`](https://code-dispenser.gitbook.io/validated-docs/) validation framework. It brings the power, flexibility, and composability of functional validation directly into your Blazor applications, providing a seamless and robust alternative to standard `DataAnnotations`.\
\
At its heart, `Validated.Blazor` is designed to bridge the declarative, configuration-driven logic of `Validated.Core` with Blazor's reactive `EditContext` system. This allows you to build complex, dynamic, and maintainable forms with validation logic that can be shared, versioned, and customized for multi-tenant environments.

#### Key Features

* Native Blazor Integration: Hooks directly into Blazor's `<EditForm>` and `EditContext`. It uses a standard

  `ValidationMessageStore` to display errors, making it compatible out-of-the-box with Blazor's built-in `<ValidationMessage>` and `<ValidationSummary>` components.
* Reuses Core Logic: `Validated.Blazor` is a lightweight presentation layer. It consumes the same

  `MemberValidator<T>` delegates and `IValidatorFactoryProvider` from `Validated.Core`, meaning all your existing validation rules, factories, and configurations can be used without modification.
* Specialized Blazor Builders: Includes `BlazorValidationBuilder<TEntity>` and `BlazorTenantValidationBuilder<TEntity>` to assemble your validation rules. Instead of producing a single delegate, these builders create a dictionary of validators that the main component consumes, perfectly adapting the core pattern for a component-based UI.
* Complex Model Support: Natively understands and traverses complex object graphs. It effortlessly handles validation for nested objects and collections of objects, ensuring that validation messages are correctly mapped to the right fields, no matter how deep your model is.

#### Who is this for?

`Validated.Blazor` is for .NET developers building applications with Blazor who need a more powerful validation solution than the built-in attributes provide. It is the perfect choice if you:

* Are already using `Validated.Core` and want to integrate it with your Blazor frontend.
* Need to support multi-tenant validation scenarios where rules change based on the user.
* Want to define validation rules in a central configuration that can be versioned and managed independently of your UI code.
* Prefer a fluent, composable, and testable approach to defining validation logic.

#### GitHub Repository:

<https://github.com/code-dispenser/Validated-Blazor>


---

# 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://code-dispenser.gitbook.io/validated-blazor-docs/overview/about-validated.blazor.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.
