asp-validation-summary没有显示,字段验证工作

时间:2017-06-14 21:33:01

标签: asp.net-mvc validation asp.net-core-mvc .net-core

我正在使用dotnet核心MVC,并且遇到了asp-validation-summary问题。

使用asp验证验证是在字段级别工作 - 但是我没有在asp-validation-summary中显示任何内容。

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

我也试过

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

任何想法我都缺少。

完成了大量的搜索,无法查看我的问题的解决方案

由于

3 个答案:

答案 0 :(得分:0)

您应该使用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> 

答案 1 :(得分:0)

使用ValidationSummary显示字段级错误消息:

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

示例:ValidationSummary显示字段错误

@Html.ValidationSummary(false, "", new { @class = "text-danger" })

现在,在视图中将在顶部显示错误消息作为摘要。请确保您没有为每个字段设置ValidationMessageFor方法。

官方文件:https://msdn.microsoft.com/en-us/library/system.web.mvc.html.validationextensions.validationsummary(v=vs.118).aspx

希望它会有所帮助

由于

KARTHIK

答案 2 :(得分:0)

此外,您还可以包括用于验证标签帮助程序的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>
    }