Revalidation Numerical fields

I have three numerical fields with range validation in a RadzenTemplateForm, the range values depends on the values of the other fields, all separate rangevaliadtions works, but when one is out of the range and i edited also the other to get the first in range it revalidates only the edited value not the other one.
Is there an example of the or is there another way.

You can revalidate as shown here: How to show/change style around control fails during form validation? - #7 by korchev

The call is done, the validation message of the other field is not dissaperaing and but also the notification will not display...

All fields has of course the validation for the specifiek fields

<RadzenNumericRangeValidator Max="@Math.Min(dhwUser.DHWUsageTemperature.GetValueOrDefault(), dhwUser.DHWHighTemperature.GetValueOrDefault())" Min="4" Component="LowTemperature" Text="@L["LowTemperatureValidation.Text"]" Name="LowTemperatureValidation">

the form:
<RadzenTemplateForm @ref="@formDhwUser" Visible="@(dhwUser != null)" TItem="DhwUser" Data="@dhwUser" Submit="@OnSubmit" InvalidSubmit="@InvalidSubmit">

the numericals:
<RadzenNumeric TValue="int?" Name="HighTemperature" @bind-Value="@dhwUser.DHWHighTemperature" Format="### °C" Min="1" Style="max-width: 120px" Change="@HighTemperatureChange"></RadzenNumeric>

<RadzenNumeric TValue="int?" Name="LowTemperature" @bind-Value="@dhwUser.DHWLowTemperature" Format="### °C" Min="1" Style="max-width: 120px" Change="@LowTemperatureChange">

<RadzenNumeric TValue="int?" Name="UsageTemperature" @bind-Value="@dhwUser.DHWUsageTemperature" Format="### °C" Min="1" Style="max-width: 120px" Change="@UsageTemperatureChange"></RadzenNumeric>

the calls:

void TriggerValidation()
        {
            var test =formDhwUser.EditContext.Validate();
            NotificationService.Notify(NotificationSeverity.Success, "Validate", $"Validate {test}");
        }

protected async Task LowTemperatureChange(int? args)
        {
            Calculators.UpdateDhwAll( dhwUser);
            TriggerValidation();
        }

protected async Task HighTemperatureChange(int? args)
        {
            Calculators.UpdateDhwAll( dhwUser);
            TriggerValidation();
        }

protected async System.Threading.Tasks.Task UsageTemperatureChange(int? args)
        {
            Calculators.UpdateDhwAll( dhwUser);
            TriggerValidation();
        }

We will need a demo which reproduces the scenario as I currently don't have the full picture. You can edit the demo to demonstrate your case.

Hi have altered the demo and also the same results.

the altered demo:

@using Radzen
@using System.Text.Json

(1-10 items)

<EventConsole @ref=@console />

@code {
class Model
{
public decimal Quantity { get; set; }
public decimal Maximal { get; set; }
public decimal Minimal { get; set; }
}

RadzenTemplateForm<Model> form;

bool popup;

Model model = new Model();

EventConsole console;

void OnInput(ChangeEventArgs args)
{
    Log("oninput", args.Value.ToString());
    var tt = form.EditContext.Validate();
    Log("oninput", tt.ToString());
}

void Log(string eventName, string value)
{
    console.Log($"{eventName}: {value}");
}

protected async Task TriggerValidation(decimal args)
    {
        var test = form.EditContext.Validate();
    }

void OnSubmit(Model model)
{
    Log("Submit", JsonSerializer.Serialize(model, new JsonSerializerOptions() { WriteIndented = true }));
}

void OnInvalidSubmit(FormInvalidSubmitEventArgs args)
{
    Log("InvalidSubmit", JsonSerializer.Serialize(args, new JsonSerializerOptions() { WriteIndented = true }));
}

}

The code seems incomplete. Please follow the instructions from the FAQ when pasting code.

@using Radzen
@using System.Text.Json


<div class="container my-4">
    <div class="row">
        <div class="col">
            <RadzenCard class="w-100 mb-4" >
            <RadzenCheckBox @bind-Value=@popup Name="popup"></RadzenCheckBox>
                <RadzenLabel Text="Display validators as popup" Component="popup" Style="margin-left: 8px; vertical-align: middle;" />
            </RadzenCard>
        </div>
    </div>
    <div class="row">
        <div class="col-lg-6 offset-lg-3">
            <RadzenTemplateForm @ref= "@form" TItem="Model" Data=@model Submit=@OnSubmit InvalidSubmit=@OnInvalidSubmit>
                <RadzenFieldset Text="Bid info">
                    <div class="row mb-5">
                        <div class="col-md-4">
                            <RadzenLabel Text="Quantity" Component="Quantity" />
                            <small style="display: block">(1-10 items)</small>
                        </div>
                        <div class="row mb-5">
                        <div class="col">
                            <RadzenNumeric TValue="decimal" Change="@TriggerValidation" style="display: block" Name="Quantity" @bind-Value=@model.Quantity @oninput=@OnInput class="w-100" />
                            <RadzenNumericRangeValidator  Component="Quantity" Min="@model.Minimal" Max="@model.Maximal" Text="Quantity should be between min and max" Popup=@popup Style="position: absolute" />
                        </div>
                        </div>
                        <div class="row mb-5">
                            <RadzenLabel Text="Minimal" Component="Minimal" />
                        <div class="col">
                            <RadzenNumeric  TValue="decimal" Change="@TriggerValidation" style="display: block" Name="Minimal" @bind-Value=@model.Minimal @oninput=@OnInput class="w-100" />
                            <RadzenNumericRangeValidator Component="Minimal" Min="1" Max="@model.Maximal" Text="Minimal should be between 1 and Maximal" Popup=@popup Style="position: absolute" />
                        </div>
                        </div>
                        <div class="row mb-5">
                            <RadzenLabel Text="Maximal" Component="Maximal" />
                        <div class="col">
                            <RadzenNumeric  TValue="decimal" Change="@TriggerValidation" style="display: block" Name="Maximal" @bind-Value=@model.Maximal @oninput=@OnInput class="w-100" />
                            <RadzenNumericRangeValidator Component="Maximal" Min="@model.Minimal" Max="10" Text="Maximal should be between Minimal and 10" Popup=@popup Style="position: absolute" />
                        </div>
                        </div>
                    </div>
                    <RadzenButton ButtonType="ButtonType.Submit" Text="Submit"></RadzenButton>
                </RadzenFieldset>
            </RadzenTemplateForm>
        </div>
    </div>
</div>

<EventConsole @ref=@console />

@code {
    class Model
    {
        public decimal Quantity { get; set; }
        public decimal Maximal { get; set; }
        public decimal Minimal { get; set; }
    }

    RadzenTemplateForm<Model> form;

    bool popup;

    Model model = new Model();

    EventConsole console;

    void OnInput(ChangeEventArgs args)
    {
        Log("oninput", args.Value.ToString());
        var tt = form.EditContext.Validate();
        Log("oninput", tt.ToString());
    }

    void Log(string eventName, string value)
    {
        console.Log($"{eventName}: {value}");
    }

    protected async Task TriggerValidation(decimal args)
        {
            var test = form.EditContext.Validate();
        }

    void OnSubmit(Model model)
    {
        Log("Submit", JsonSerializer.Serialize(model, new JsonSerializerOptions() { WriteIndented = true }));
    }

    void OnInvalidSubmit(FormInvalidSubmitEventArgs args)
    {
        Log("InvalidSubmit", JsonSerializer.Serialize(args, new JsonSerializerOptions() { WriteIndented = true }));
    }
}

Here is what I see with this demo - seems correct to me.
numeric

By the way we don't recommend using the oninput event for RadzenNumeric as it may lead to unpredictable results.

the problem is not with two but when three when the min and max on parameters are involved .
The numerical line is copied from the demo i just altered the names and values and added the Change event.
I cannot upload my (mac) screen recording.
Try:
set quantity=5 , min = 2 max = 9
next change min to 6, validation is not correct on quantity
next quantity to 3 validation correct , or not changing
next min to 2 validation is not correct on quantity or not changing.

Can you try this:

        protected async Task TriggerValidation(decimal args)
        {
            await Task.Delay(100);
            var test = form.EditContext.Validate();
        }

Thanks again for your excellent support.