我在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>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用数据注释属性来验证表单。使用editform的OnSubmit提交表单,但在提交之前未触发验证。如果我使用OnValidSubmit,它将触发验证。
有人可以解释OnSumbit,OnValidSubmit和OnInvalidSubmit如何工作。
提交表单时都会触发OnSubmit。使用此事件时,您负责处理模型的所有验证。
仅当模型状态有效时才触发OnValidSubmit。使用此事件时,将为您调用所有验证逻辑,并且仅在模型状态有效时才调用您传递的委托。
当提交的表单无效时,将触发OnInvalidSubmit。
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |