Blazored / FluentValidation

A library for using FluentValidation with Blazor
https://blazored.github.io/FluentValidation/
MIT License
597 stars 85 forks source link

[Question] Silently validate model / TryValidate() #236

Open Lorenz5600 opened 1 week ago

Lorenz5600 commented 1 week ago

Hi,

I'm looking for a way to silently validate an EditContext when using FluentValidation, i.e. Validate without generating ValidationMessages. This feature is quite useful, e.g. to disable/enable a submit button.

When using DataAnnotationsValidator this is possible by calling Validator.TryValidateObject() like:

bool FormIsValid()
{
    var validationResults = new List<ValidationResult>();
    var validationContext = new ValidationContext(EditContext.Model);
    Validator.TryValidateObject(EditContext.Model, validationContext, validationResults, true);
    return !validationResults.Any();
}

Unfortunately I don't fully understand the way FluentValidation is hooked up into EditContext, but perhaps someone had an idea or already implemented something similiar and can get me on the right track.

Thanks in advance

Jake

Lorenz5600 commented 1 week ago

Took a walk and revisited the code...voilá, guess I figured it out! Perhaps not the best possible solution (comments welcome!), but it's a start:

WIP repo

Cheers, Jake