FluentValidation


Basic

Blazor
@using FluentValidation
<EditForm Model="_model">
    <BdkFluentValidator Validator="new ModelValidator()" />
    <div>
        <label class="@Bs.Css.FormLabel">Name</label>
        <InputText class="@Bs.Css.FormControl" @bind-Value="_model.Name" />
        <ValidationMessage For="() => _model.Name" class="@Bs.Css.DisplayBlock.AddClass("is-invalid")"/>
    </div>
    <button type="submit" class="mt-2 btn btn-primary">Submit</button>
</EditForm>
@code {
    private Model _model = new();

    class Model
    {
        public string? Name { get; set; }
    }

    class ModelValidator : AbstractValidator<Model>
    {
        public ModelValidator()
        {
            RuleFor(x => x.Name).NotEmpty();
        }
    }
}