服务器端Blazor中的单个EditForm中的多模型验证

时间:2020-01-28 21:06:10

标签: c# asp.net-core blazor blazor-server-side

我有一个在单个EditForm中绑定到三个相关模型的表单。我想了解如何在同一提交中验证每个人。我已经能够成功验证单个模型,但是我看不到任何关于如何验证多个模型的细节。想法?

    <EditForm OnValidSubmit="@Save" EditContext="@EditContext">
    <div class="form-group">

                <input class="form-control" type="text" id="Title" @bind="@TargetUser.Title" />

                <InputText Id="OfficePhone" Class="form-control" @bind-Value="@TargetUser.OfficePhone"></InputText>
                <ValidationMessage For="@(() => TargetUser.OfficePhone)" />

                <input class="form-control" type="text" id="MiddleName" @bind="@TargetUser.MiddleName" />
        <div class="row row-padding">
            <h4>Seller Rates</h4>
        </div>
        <hr />
        <input type="number" step="0.01" id="HourlyRate" @bind="@UserRate.HourlyRate" class="form-control" />
        <input type="number" id="Salary" @bind="@UserRate.Salary" class="form-control" />
        <input type="number" step="0.01" id="OTRate" @bind="@UserRate.OTRate" class="form-control" />
        <input type="date" @bind="@UserRate.ValidFrom" id="ValidFrom" class="form-control"/>
        <input type="date" class="form-control" id="ValidTo" @bind="@UserRate.ValidTo" />

    <DataAnnotationsValidator />
    <ValidationSummary />
</EditForm>

这是一些代码的经过高度编辑的示例。并不打算显示实际存在的内容。只是为了说明。

1 个答案:

答案 0 :(得分:1)

我想您在这里需要的是ObjectGraphDataAnnotationsValidator组件,该组件可用于验证复杂类型。

这里是link to a simple sample

Here's a link到Blazor团队的类定义和示例

希望这对您有帮助...