我像下面这样在火焰中有一个简单的形式。
<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>
我正在尝试使用数据注释属性来验证表单。 使用editform的OnSubmit提交表单,但在提交之前未触发验证。 如果我使用OnValidSubmit,它将触发验证。
有人可以解释OnSumbit,OnValidSubmit和OnInvalidSubmit的工作原理吗。
答案 0 :(得分:3)
提交时 每当您提交表单时都会被触发。使用此事件时,您负责处理模型的所有验证。
OnValidSubmit 仅在模型状态有效时才触发。使用此事件时,将为您调用所有验证逻辑,并且仅在模型状态有效时才调用您传递的委托。
OnInvalidSubmit 当提交的表单无效时被触发。