【问题标题】:Validation not fired on OnSubmit , but it fired on OnVallidSubmit验证未在 OnSubmit 上触发,但在 OnVallidSubmit 上触发
【发布时间】:2019-11-08 01:10:30
【问题描述】:

我在 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>

我正在尝试使用数据注释属性验证表单。 使用 editform 的 OnSubmit 提交表单,但在提交之前没有触发验证。 如果我使用 OnValidSubmit 它会触发验证。

谁能解释一下 OnSumbit、OnValidSubmit 和 OnInvalidSubmit 的工作原理。

【问题讨论】:

    标签: blazor


    【解决方案1】:

    提交时 每当您提交表单时触发。使用此事件时,您负责处理模型的所有验证。

    OnValidSubmit 仅在模型状态有效时触发。使用此事件时,会为您调用所有验证逻辑,并且仅当模型状态有效时才会调用您传递的委托。

    OnInvalidSubmit 当提交的表单无效时触发。

    【讨论】:

    • 如果我的回答对您有帮助,能否将其标记为答案,以便其他人看到它解决了您的问题,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 2014-05-11
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多