C# InputSelect-验证未按预期工作

C# InputSelect-验证未按预期工作,c#,validation,input,.net-core,blazor,C#,Validation,Input,.net Core,Blazor,我的多页表单中的一个步骤有问题。 假设下面的代码显示了表单页面#2,我刚刚按下了后退按钮(从表单页面#3转到#2)。 AppData保存我第一次填写#2表单时存储的数据,“if”确保前面的选择是选中的 <EditForm Model="FormModel" OnValidSubmit="HandleValidSubmit"> <DataAnnotationsValidator /> <ValidationSummary /> <I

我的多页表单中的一个步骤有问题。 假设下面的代码显示了表单页面#2,我刚刚按下了后退按钮(从表单页面#3转到#2)。 AppData保存我第一次填写#2表单时存储的数据,“if”确保前面的选择是选中的

<EditForm Model="FormModel" OnValidSubmit="HandleValidSubmit">
    <DataAnnotationsValidator />
    <ValidationSummary />
    <InputSelect @bind-Value="FormModel.StudyLocation">
        <optgroup label="StudyPlace">
            <option selected disabled hidden>Choose place</option>
            @foreach (var studyPlace in StudyPlaces)
            {
                if (AppData.HousingTestWhere != null && AppData.HousingTestWhere.StudyLocation == studyPlace)
                {
                    <option selected value="@studyPlace">@studyPlace</option>
                }
                else
                {
                    <option value="@studyPlace">@studyPlace</option>
                }
            }
        </optgroup>
    </InputSelect>
    <button type="submit">Neste</button>
</EditForm>

选择地点
@foreach(变量studyPlace in StudyPlaces)
{
if(AppData.HousingTestWhere!=null&&AppData.HousingTestWhere.StudyLocation==studyPlace)
{
@研究场所
}
其他的
{
@研究场所
}
}
巢穴
问题如下:

当从第3页转到第2页时,先前选择的项目被选中/默认,但当尝试返回第3页时(没有在下拉列表中重新选择任何内容),验证会抱怨“未选择任何内容”或其他内容。。即使元素明显具有选定的标记


什么?

不清楚你的意思是<代码>页> n <代码>,或者你如何加载/重新加载FrimMod等。考虑一个新的最小项目,并发布确切的步骤来复制它。另请参见注意,整个if-else部分是不必要的,您有一个双向绑定。只需确保
FormModel.StudyLocation
已正确初始化即可。你只需要另一部分。