Asp.net mvc asp验证摘要未显示,字段验证正在工作

Asp.net mvc asp验证摘要未显示,字段验证正在工作,asp.net-mvc,validation,asp.net-core-mvc,.net-core,Asp.net Mvc,Validation,Asp.net Core Mvc,.net Core,我正在使用dotnet core MVC,我在asp验证摘要方面有问题 <div asp-validation-summary="ModelOnly" class="text-danger"></div> 验证是在现场级别使用asp验证进行的,但是我没有在asp验证摘要中显示任何内容 <div asp-validation-summary="ModelOnly" class="text-danger"></div> 我也试过了 <di

我正在使用dotnet core MVC,我在asp验证摘要方面有问题

<div asp-validation-summary="ModelOnly" class="text-danger"></div>
验证是在现场级别使用asp验证进行的,但是我没有在asp验证摘要中显示任何内容

<div asp-validation-summary="ModelOnly" class="text-danger"></div>

我也试过了

<div asp-validation-summary="All" class="text-danger"></div>

你知道我错过了什么吗

做了大量的搜索,看不到我的问题的解决方案


谢谢

您应该使用
asp validation summary=“ModelOnly”
为每个模型字段添加此字段,并在Html表单之前设置
@Html.ValidationSummary()

//Validation Summary Parameters
public static MvcHtmlString ValidationSummary(
    this HtmlHelper htmlHelper,
    bool excludePropertyErrors, // to include or exclude your field validation errors
    string message,
    object htmlAttributes,
    string headingTag
)

@Html.ValidationSummary() // use this with your desired parameters
<form>
  ...... // your inputs
  <input asp-for="YourField" class="form-control" />
  <span asp-validation-for="YourField" class="text-danger"></span>
</form> 
//验证摘要参数
公共静态MvcHtmlString验证摘要(
这个HtmlHelper HtmlHelper,
bool excludePropertyErrors,//包含或排除字段验证错误
字符串消息,
对象属性,
线头标签
)
@Html.ValidationSummary()//将其用于所需的参数
...... // 你的投入

使用验证摘要显示字段级错误消息:

默认情况下,ValidationSummary过滤掉字段级错误消息。如果要将字段级错误消息显示为摘要,请指定excludePropertyErrors=false

示例:显示字段错误的ValidationSummary

@Html.ValidationSummary(false, "", new { @class = "text-danger" })
现在,在视图中,将在顶部以摘要形式显示错误消息。请确保每个字段都没有ValidationMessageFor方法

官方文件:

希望这会有帮助

谢谢


Karthik

您还可以包含用于验证标记帮助器的jquery脚本

<form asp-controller="home" asp-action="CreatePoll" method="post" class="mt-3">
        <div class="validation" asp-validation-summary="All"></div>
        <div class="form-group">
            <label asp-for="Name">Name of the Poll:</label>
            <input asp-for="Name" class="form-control" />
            <span asp-validation-for="Name" class="text-danger"></span>
        </div>

            <button type="submit" class="btn btn-primary">Create</button>

    </form>

    @section scripts{

        <script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
        <script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
    }

投票名称:
创造
@节脚本{
}

我已经,并且已经将消息设置为*但是想要在摘要中显示文本,您可以包含模型和控制器代码吗?我遇到了同样的问题,这里的答案看起来都没有解决问题(因此我猜为什么没有一个被接受,并且都没有投票权)。您是否找到了解决方案?我们需要您显示视图以及表单的生成HTML。没有这些,我们只能猜测。我的猜测可能是,您有一些样式将
display:none!重要的的元素上执行code>。验证摘要错误
。这是一个有效的猜测,例如,为什么验证在字段级别工作,而不是在摘要级别工作。LOL.@zola25:当然,给你:。我只是检查了一些代码,只是想说明:@zola25:我终于明白你现在的问题是什么了。我有一个简单的解决方法:只需复制
,并将它们放在表单的顶部。这样,当字段更改时,它会显示错误。现在你可能想要一个比这个更可靠的答案。如果你能问一个单独的问题,我也许可以继续研究,给你另一个答案。我不认为你的问题与这个原始询问者的问题相同。这与
。。。