编辑列表时的 TagHelper 验证
TagHelper validation when editing a list
我正在尝试在编辑项目列表时使用 TagHelpers。
这是使用助手的视图中的代码:
@for (var i = 0; i < Model.Items.Count; i++)
{
<tr>
<td>
<input asp-for="Items[i].Name" />
<span asp-validation-for="Items[i].Name" class="text-danger" />
</td>
</tr>
}
输入助手按预期工作,ModelState 已正确填充验证错误,但不会向用户显示验证错误。
我猜渲染验证标签有问题。
<td>
<input class="input-validation-error" data-val="true" data-val-required="The Name field is required." id="Items_0__Name" name="Items[0].Name" value="" type="text">
<span class="text-danger field-validation-error" data-valmsg-for="Items[0].Name" data-valmsg-replace="true"></span>
</td>
可能是输入 ID 是 Items_0__Name
(带下划线)但验证标记查找 Items[0].Name
.
是否有解决方法可以使验证工作正常?
我从未见过使用 foreach 有任何问题
@foreach (var item in Model.Items)
{
<tr>
<td>
<input asp-for="item.Name" />
<span asp-validation-for="item.Name" class="text-danger" />
</td>
</tr>
}
我正在尝试在编辑项目列表时使用 TagHelpers。
这是使用助手的视图中的代码:
@for (var i = 0; i < Model.Items.Count; i++)
{
<tr>
<td>
<input asp-for="Items[i].Name" />
<span asp-validation-for="Items[i].Name" class="text-danger" />
</td>
</tr>
}
输入助手按预期工作,ModelState 已正确填充验证错误,但不会向用户显示验证错误。
我猜渲染验证标签有问题。
<td>
<input class="input-validation-error" data-val="true" data-val-required="The Name field is required." id="Items_0__Name" name="Items[0].Name" value="" type="text">
<span class="text-danger field-validation-error" data-valmsg-for="Items[0].Name" data-valmsg-replace="true"></span>
</td>
可能是输入 ID 是 Items_0__Name
(带下划线)但验证标记查找 Items[0].Name
.
是否有解决方法可以使验证工作正常?
我从未见过使用 foreach 有任何问题
@foreach (var item in Model.Items)
{
<tr>
<td>
<input asp-for="item.Name" />
<span asp-validation-for="item.Name" class="text-danger" />
</td>
</tr>
}