【发布时间】:2020-01-28 21:06:10
【问题描述】:
我有一个在单个 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>
这是一个经过高度编辑的部分代码示例。不打算显示实际存在的内容。只是为了说明。
【问题讨论】:
-
你只能使用一个模型...你的意思是复杂类型吗?我会像您的意思是复杂类型一样发布答案...
-
@enet 我的意思是表单很复杂,我需要验证多种类型。请参阅上面示例中的 TargetUser 和 UserRate。两种不同的类型。我正在考虑创建一个“组合”类型,用作 EditForm 的模型,然后在提交时为各个类型创建单独的 EFCore 进程。想法?
-
@enet 请添加一个答案,以便我标记你。这正是我正在寻找的。span>
标签: c# asp.net-core blazor blazor-server-side