gpt4 book ai didi

c# - 为什么同时需要 asp-validation-for 和 @Html.ValidationMessage()?

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:12 25 4
gpt4 key购买 nike

我正在检查 .Net Core 上的 Asp.Net Core。脚手架创建了一些模板。模型的默认验证是不够的,所以我在将对象发送到 Controller 时添加了一些额外的验证

ViewData.ModelState.AddModelError(nameof(Invoice.InvoiceNr), "发票编号应该是唯一的。");

现在在浏览器中,当 @Html.ValidationMessage("InvoiceNr") 添加到 cshtml 文件时,我只会看到该消息。只有 asp-validation-for="InvoiceNr" 似乎没有出现任何属性错误。

我花了一些时间才弄明白这一点。有人能解释一下为什么这对我来说似乎违反直觉,必须添加 2 行来显示所有验证错误。

谢谢!

@Shyju

    <div class="form-group">
<label asp-for="InvoiceNr" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="InvoiceNr" class="form-control"/>
<span asp-validation-for="InvoiceNr" class="text-danger" />
</div>
</div>

@GSerg enter image description here

最佳答案

它不起作用的原因是因为您没有正确使用 validation-for 标签助手。不应使用自闭符号,而应使用显式闭区间。

替换

<span asp-validation-for="InvoiceNr" class="text-danger" />

<span asp-validation-for="InvoiceNr" class="text-danger"></span>

简而言之,您不需要同时使用标签助手和 html 助手来验证错误。通过正确使用标签助手,您将能够看到验证错误消息。

关于c# - 为什么同时需要 asp-validation-for 和 @Html.ValidationMessage()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40428083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com