C# 服务器端Blazor中单个EditForm中的多模型验证
我有一个表单,它在一个EditForm中绑定到三个相关的模型。我希望了解如何在同一个提交上验证它们。我已经成功地验证了一个模型,但是我没有看到任何关于如何验证多个模型的细节。想法C# 服务器端Blazor中单个EditForm中的多模型验证,c#,asp.net-core,blazor,blazor-server-side,C#,Asp.net Core,Blazor,Blazor Server Side,我有一个表单,它在一个EditForm中绑定到三个相关的模型。我希望了解如何在同一个提交上验证它们。我已经成功地验证了一个模型,但是我没有看到任何关于如何验证多个模型的细节。想法 <EditForm OnValidSubmit="@Save" EditContext="@EditContext"> <div class="form-group"> <input class="form-control" type="t
<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>
卖方费率
这是一些代码的高度编辑示例。不打算显示实际情况。只是为了举例说明。我想您在这里需要的是ObjectGraphDataAnnotationsValidator组件,它支持复杂类型的验证 这里有一个 Blazor团队提供的类定义和示例
希望这有助于 您只能使用单个模型。。。你是说复杂的类型吗?我会把答案贴出来,就好像你说的是一个复杂的类型…@enet我的意思是表单很复杂,我需要验证多个类型。请参见上面示例中的TargetUser和UserRate。两种不同的类型。我考虑的是创建一个“组合”类型,用作EditForm的模型,然后在提交时为各个类型创建单独的EFCore流程。想法?看这个:@enet请添加一个答案,这样我就可以给你打分了。这正是我想要的。我有一个类似的问题:我的表单绑定到两个不同的模型(请求和系统),我必须根据这两个模型进行验证。