Проверка не сработала на OnSubmit, но сработала на OnVallidSubmit - PullRequest
0 голосов
/ 26 июня 2019

У меня есть простая форма в Blazor, как показано ниже.

    <EditForm Model="@createInvoice"  OnValidSubmit="@CreateInvoice" >
    <DataAnnotationsValidator></DataAnnotationsValidator>
    <p>
        <label for="ddlService">Service</label>
        <InputSelect id="ddlService" @bind-Value="@createInvoice.SelectedService">
            <option value="0">Select Service</option>
            @foreach (var item in Services)
            {
                <option value="@item.ServiceId">@item.Name</option>
            }
        </InputSelect>
        <ValidationMessage For="@(()=> createInvoice.SelectedService)"></ValidationMessage>
    </p>
</EditForm>

Я пытаюсь проверить форму, используя атрибут аннотации данных.Использование OnSubmit editform для отправки формы, но перед отправкой проверка не сработала.Если я использую OnValidSubmit, он запускает проверку.

Может кто-нибудь объяснить, как работают OnSumbit, OnValidSubmit и OnInvalidSubmit.

1 Ответ

4 голосов
/ 26 июня 2019

OnSubmit Увольняется всякий раз, когда вы отправляете форму. При использовании этого события вы несете ответственность за все проверки модели.

OnValidSubmit Запускается только тогда, когда состояние модели действительно. При использовании этого события для вас вызывается вся логика проверки, а передаваемый вами делегат вызывается только в том случае, если состояние модели является действительным.

OnInvalidSubmit Увольняется, когда отправленная форма недействительна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...